我使用django sendmail通过 gmail 发送邮件通知。
我总是设置fail_silently
为假。显然,这是一种知道我是否可以连接到 gmail 以及 gmail 是否能够发送消息的方法,但不足以知道这个电子邮件地址是否无法投递。
我想保持干净的电子邮件人员表。我怎样才能知道(通过代码,而不是手动)电子邮件是否因无法送达而被退回。
我使用django sendmail通过 gmail 发送邮件通知。
我总是设置fail_silently
为假。显然,这是一种知道我是否可以连接到 gmail 以及 gmail 是否能够发送消息的方法,但不足以知道这个电子邮件地址是否无法投递。
我想保持干净的电子邮件人员表。我怎样才能知道(通过代码,而不是手动)电子邮件是否因无法送达而被退回。
首先,反弹是一个异步事件。在某些情况下,一封无法送达的电子邮件可能需要长达 3 天(甚至更长时间)才能退回。
为了检测退回邮件,您的邮件服务器必须以一种或另一种方式为其提供支持。Gmail 不这样做,但您可以使用后台进程提出启发式解决方案,该进程定期扫描收件箱中的退回邮件并使用例如 imaplib 解析它们。但是,gmail 有一个发送限制,你迟早会达到这个限制,所以我不确定是否值得在这个解决方案上投入时间。
或者,您可以使用具有退回跟踪功能的电子邮件发送服务,例如Postmark