我试图了解它是如何工作的。
当我通常发送和发送电子邮件并且收件人不存在或发生其他错误时,会发回一封电子邮件,其中包含有关错误和状态的信息。这可能需要一些时间。
我的问题是,如果这个响应需要时间,smtplib如何能够发现这个错误?
当我使用smtplib发送电子邮件时,它永远不会引发SMTPRecipientsRefused异常。它只是发送电子邮件,之后,当故意使用无效的电子邮件地址时,我在回复电子邮箱中收到“传递给以下收件人永久失败:”错误。这对我没有帮助,因为我正在尝试从无效的电子邮件地址清理我的电子邮件地址数据库。
有验证功能:
SMTP.verify(address)
但我不相信这是一个真正的选择。关于VRFY的python docs注意事项:
“许多网站禁用SMTP VRFY以阻止垃圾邮件发送者。”
关于我的测试环境的说明:我正在使用django和远程SMTP服务器(gmail / apps)。
Q1:这是不能发现错误的原因吗?我应该使用本地服务器吗?
Q2:除了从回复邮箱解析我的实际错误电子邮件之外,有没有办法做到这一点?
提前感谢您对此事的任何想法!
答案 0 :(得分:0)
是的,遗憾的是,很多年以来,SMTP VRFY已在大多数服务器上被禁用,因为垃圾邮件发送者可以使用它来快速搜索服务器以获取有效的电子邮件。你必须手动或刮掉电子邮件。 python-imap会帮助你。祝你好运!
答案 1 :(得分:0)