给定一个电子邮件地址,是否可以使用 python 确定 smtp 地址。我正在使用 python smtplib 构建电子邮件应用程序。
谢谢
请您参考如下方法:
Python smtplib module不执行邮件路由,因此它将其留给 smart host .
你可以使用 dnspython查找目标域的 MX 记录(如果没有 MX 记录,则查找 A 和 AAAA 记录)。然后您可以将生成的地址传递给 smtplib。
然而,这只是实现正确邮件路由所需工作的一小部分:如果目标邮件服务器无法访问或超时,您应该尝试下一个服务器。同样,如果它以 4xx 错误代码响应。如果所有服务器都不可用,需要在本地暂存邮件,所以需要自己实现邮件队列。此外,您的外部 IP 地址可能会被列入邮件投递黑名单。
因此,安装本地邮件服务器(如Exim)通常更容易。或 Postfix并使用它来注入(inject)邮件,可能通过具有良好电子邮件信誉的智能主机路由邮件以避免列入黑名单。
