擅长:python、mysql、java
<p>为了正确处理VERP,必须对Postfix进行特殊配置。列出允许tu use VERP的客户端的<code>smtpd_authorized_verp_clients</code>只配置发送部分。实际上,它列出了允许使用XVERP命令的客户机,该命令会自动将<code>+dest</code>添加到信封发送方地址。在</p>
<p>但在其默认配置Postfix中do<strong>not</strong>自动将发送到<code>sender+ext</code>的消息传递给<code>sender</code>。要使其生效,您必须在<code>main.cf</code>中添加(或取消注释)<code>recipient_delimiter = +</code>。在默认配置中,该行存在,但被注释掉了。在</p>
<p>因此,如果您可以形成自己的VERP发件人地址,即信封发件人地址为<code>myuser+verpid@domain.com</code>,那么只要您有<code>recipient_delimiter = +</code>,您就没有其他事情要做了:目标SMTP服务器将向该地址发送跳转,而您的Postfix将正确地将其发送到myuser@domain.com。在</p>
<p>我不知道有哪个python包会自动添加XVERB命令。因此,如果您想自动使用它,您应该遵循<a href="http://www.postfix.org/VERP_README.html" rel="nofollow">Postfix VERP Howto</a>中描述的以下方法:</p>
<p><em>您可以使用smtpd_command_filter功能将XVERP附加到来自旧版软件的SMTP命令。这需要Postfix 2.7或更高版本。</em></p>
<pre><code>/etc/postfix/main.cf:
smtpd_command_filter = pcre:/etc/postfix/append_verp.pcre
smtpd_authorized_verp_clients = $mynetworks
/etc/postfix/append_verp.pcre:
/^(MAIL FROM:<listname@example\.com>.*)/ $1 XVERP
</code></pre>