Email 我应该在邮件之间保持smtp连接打开吗?

Email 我应该在邮件之间保持smtp连接打开吗?,email,smtp,telnet,Email,Smtp,Telnet,在我的应用程序中,每次操作完成后,我都需要向一些客户发送一封确认电子邮件 我应该如何设计smtp连接背后的逻辑,或者最佳实践是什么 我是否应该在应用程序运行时(有时是几个小时,有时是20-30分钟,没有任何邮件)连接验证邮件帐户并保持此连接打开 或者我应该在每次发送邮件时关闭连接吗?即使在某些操作中邮件每秒可以发送多次 我只是通过Telnet发送邮件到远程Web服务器邮件应用程序。 此应用程序可由多个用户同时使用同一电子邮件帐户使用 因此,我需要有smtp行为和习惯经验的人的建议,一个简单的邮件

在我的应用程序中,每次操作完成后,我都需要向一些客户发送一封确认电子邮件

我应该如何设计smtp连接背后的逻辑,或者最佳实践是什么

我是否应该在应用程序运行时(有时是几个小时,有时是20-30分钟,没有任何邮件)连接验证邮件帐户并保持此连接打开

或者我应该在每次发送邮件时关闭连接吗?即使在某些操作中邮件每秒可以发送多次

我只是通过Telnet发送邮件到远程Web服务器邮件应用程序。 此应用程序可由多个用户同时使用同一电子邮件帐户使用


因此,我需要有smtp行为和习惯经验的人的建议,一个简单的邮件应用程序在这一点上是如何工作的?

您可以保持smtp连接打开几分钟


e、 g.处理排队邮件时,默认Sendmail配置会将2个连接缓存最多5分钟。Sendmail发出
RSET
命令以在重用之前检查缓存的连接。发出
RSET
是将SMTP会话重置为已知状态的好方法。

这是基于事件的,我正在考虑在tim上使用NOOP命令er每隔?秒一次,以便在应用程序运行期间保持会话活动。在重用缓存的SMTP连接之前,您可以发出“RSET”命令。如果在某个超时之前收到回复,则可以重用连接。好的,我将观察421(超时)代码,若我收到一个,我只需将连接标记为关闭,若应用程序需要发送电子邮件,我只需重新连接并取消延迟。。