源程序代码:Lib/smtpd.py
本模块提供几个类以实现SMTP服务器。其中一个是一个通用的什么也不做的实现,它可以被覆盖,而其他两个提供特定的邮件发送策略。
创建一个新的SMTPServer对象,并绑定到本地地址localaddr。它将remoteadd作为上游的SMTP中继。它继承自asyncore.dispatcher,并在实例化时将自身插入到asyncore的事件循环。
引发NotImplementedError异常。在子类中重写此方法以对邮件做一些有用的事情。无论传递给构造函数的是什么remoteaddr,它将作为_remoteaddr属性提供。peer是远程主机的地址,mailfrom是信封发件人,rcpttos是信封收件人,data是一个包含电子邮件的内容字符串(应该为RFC 2822格式)。
创建一个新的调试服务器。参数与SMTPServer相同。邮件将被丢弃,并打印到标准输出。
创建一个新的纯代理服务器。参数与SMTPServer相同。一切都将传送到remoteaddr。注意运行这有好的机会,令你变成一个开放中继,所以请小心些。
创建一个新的单纯的代理服务器。参数是按SMTPServer。一切都将传送到remoteaddr,除非当地邮差配置知道关于一个地址,在这种情况下将处理通过邮递员。注意运行这有好的机会,令你变成一个开放中继,所以请小心些。