【问题标题】:Should I keep an smtp connecton open between mails?我应该在邮件之间保持 smtp 连接打开吗?
【发布时间】:2013-11-09 06:07:52
【问题描述】:

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

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

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

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

我只是通过远程登录到远程网络服务器邮件应用程序来发送邮件。 此应用可同时供多个用户使用同一个电子邮件帐户。

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

【问题讨论】:

    标签: email smtp telnet


    【解决方案1】:

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

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

    【讨论】:

    • 它是基于事件的,我正在考虑每隔 ?只要应用程序正在运行,就可以在几秒钟内保持会话处于活动状态
    • 您可以在重用缓存的 SMTP 连接之前发出“RSET”命令。如果您在超时前收到回复,则该连接可能会被重用。
    • 好的,我会注意 421(超时)代码,如果我收到一个,我只需将连接标记为已关闭,如果应用程序需要发送电子邮件,我只需重新连接并取消标记..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    相关资源
    最近更新 更多