【问题标题】:smtplib doesn't fail on invalid email addressessmtplib 在无效的电子邮件地址上不会失败
【发布时间】:2014-03-28 23:11:49
【问题描述】:

在 django 中,我尝试使用 send_mail 发送邮件,例如:

from django.core.mail import send_mail
send_mail("test", "test", settings.EMAIL_HOST_USER, ["sasdadome@asdijandasd.com"])

这出乎意料地向我发送了1 的状态,这意味着它已成功交付。

如果我尝试使用我的 gmail 帐户发送相同内容,我会立即收到失败响应。

如何使用smtplib 捕获此类故障?

【问题讨论】:

    标签: python django email smtplib django-email


    【解决方案1】:

    此电子邮件地址非常有效。它只是不存在。 django 和 smtplib 都不验证域是否存在。他们只是将邮件传递给 MTA,MTA 会做出适当的反应。

    【讨论】:

    • 太棒了。有什么解决方法吗?您是否建议任何其他用于 python 的库? :)
    • 您想立即(或多或少)检查电子邮件地址是否存在?那将是垃圾邮件发送者的梦...您可以通过dignslookup(shell)或pythonsocket.gethostbyname()检查域是否存在
    • 哈哈。伟大的。我想我会试试邮戳。让我们看看这是否有帮助。谢谢
    【解决方案2】:

    Smtplib 仅检查电子邮件地址格式和 smtp 服务器(在您的情况下为 gmail)将消息排队并返回 ok

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-04
      • 2017-01-10
      • 1970-01-01
      • 2016-11-04
      • 2012-04-17
      • 1970-01-01
      • 2011-05-26
      • 1970-01-01
      相关资源
      最近更新 更多