给定一个电子邮件地址,确定SMTP服务器的Python smtplib方法。

3

在使用Python构建基于smtplib的电子邮件应用程序时,是否可以通过电子邮件地址确定smtp地址?

谢谢!

1个回答

3

Python smtplib 模块 不执行邮件路由,因此将其留给智能主机

您可以使用 dnspython 查找目标域的 MX 记录(如果没有 MX 记录,则查找 A 和 AAAA 记录)。然后,您可以将结果地址传递给 smtplib

但是,这只是实现正确邮件路由所需工作的一小部分:如果目标邮件服务器无法访问或超时,则应尝试下一个服务器。类似地,如果它响应4xx错误代码,则需要处理。如果所有服务器都不可用,则需要临时将消息存储在本地,因此需要实现自己的邮件队列。此外,您的外部 IP 地址可能会被列入邮件黑名单。

因此,通常更容易安装本地邮件服务器,例如EximPostfix,并使用它来注入邮件,可能通过智能主机路由邮件以避免被列入黑名单。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接