我希望能够用python发送电子邮件,这样我就可以解析bounce。VERP似乎是解决这个问题的办法。但是,当我设置from地址(而不是MIMEMultipart对象的“from”值)以包含VERP分隔符时,我不会收到跳出通知。在
我可以自己组成一个VERP发送者吗user@domain.com,我可以为那个收件人“mysender+user domain”设置我的From:地址吗-com.mydomain.com网站)并希望它能正常工作,还是需要配置postfix以正确解析失败的DSN?我的问题是收到失败通知,当我这样做时,无法将消息传递给有效的收件人。在
也许举个例子会有帮助。在
当我从myuser@domain.com,我收到退房通知。在
当我从myuser+verp_identifier@domain.com,我没有收到任何退学通知。(尽管电子邮件地址正确,例如:有效的_user@gmail.com顺利通过。) Perl's Mail module有一个Verp子模块,python有类似的东西吗?在
为了正确处理VERP,必须对Postfix进行特殊配置。列出允许tu use VERP的客户端的
smtpd_authorized_verp_clients
只配置发送部分。实际上,它列出了允许使用XVERP命令的客户机,该命令会自动将+dest
添加到信封发送方地址。在但在其默认配置Postfix中donot自动将发送到
sender+ext
的消息传递给sender
。要使其生效,您必须在main.cf
中添加(或取消注释)recipient_delimiter = +
。在默认配置中,该行存在,但被注释掉了。在因此,如果您可以形成自己的VERP发件人地址,即信封发件人地址为
myuser+verpid@domain.com
,那么只要您有recipient_delimiter = +
,您就没有其他事情要做了:目标SMTP服务器将向该地址发送跳转,而您的Postfix将正确地将其发送到myuser@domain.com。在我不知道有哪个python包会自动添加XVERB命令。因此,如果您想自动使用它,您应该遵循Postfix VERP Howto中描述的以下方法:
您可以使用smtpd_command_filter功能将XVERP附加到来自旧版软件的SMTP命令。这需要Postfix 2.7或更高版本。
您应该使用“Return Path”而不是FROM作为退回消息发送到的地址。使用后缀在出站消息中指定返回路径不需要特殊配置。在
Postfix处理可变入站消息的配置要求可以在地址中使用+处理,因为+和后面的所有内容通常都被忽略。所以将返回路径设置为乔+bounce@here.com应交付至joe@here.com收件人地址joe+bounce@here.com。通过在母版.cf文件。在
将此项放入服务列表中:
并在此处定义过滤器:
^{pr2}$这会导致InboundProcessor.py脚本通过管道接收所有入站消息。如果“收件人”地址包含一个+后跟一个可以与不再有效的地址关联的跳出键值,则可以在数据库中将该地址标记为不活动。在
相关问题 更多 >
编程相关推荐