我正在尝试基于Gevent实现名为gsmtpd的SMTP服务器
https://github.com/34nm/gsmtpd
但是,在登录生产服务器三周后,我发现大多数Webmail提供商的客户端在发送完所有数据后都不会关闭套接字。导致大量日志说套接字超时。
发送完所有数据后,我应该用Bye关闭插座吗?
客户端发送邮件后,您的SMTP服务器应发送一个250 2.0.0 Ok
以指示已收到邮件。然后,客户端应该发送quit
以结束会话,或rset
发送另一条消息。
如果客户端发送quit
,则您的SMTP服务器可以发送221 2.0.0 Bye
并关闭套接字。
如果客户端发送rset
,则您的SMTP服务器可以发送250 2.0.0 Ok
并准备接收另一条消息。
如果客户端发送的不是quit
或rset
(或SMTP服务器等待客户端发送的命令超时),则服务器可以发送421 2.0.0 Bye
并关闭套接字。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句