如何让Plesk 11服务器接受带分隔符(VERP)的地址的电子邮件?

时间:2013-07-08 23:33:13

标签: email plesk verp

我想要什么

我们通过电子邮件发送批量续订通知,如果我们可以将任何退回邮件与我们数据库中的相应记录相关联,那将是理想的选择。我最近了解了VERP,并认为这对我们来说是完美的解决方案。

我尝试了什么

我在进行任何更改之前进行了测试,并且正如预期的那样,邮件会被退回给发件人。然后我在/etc/postfix/main.cf中取消注释了这一行并重新启动了Postfix。

recipient_delimiter = +

问题

不幸的是,我似乎无法让它发挥作用。发送到包含分隔符的地址的邮件不再被拒绝,但它们似乎也不会在任何地方传递。这是maillog的摘录:

Jul  8 12:14:36 cl-t082-392cl postfix/smtpd[28723]: 6E98A1A404CC: client=mta02.eastlink.ca[24.224.136.13]
Jul  8 12:14:36 cl-t082-392cl postfix/cleanup[28727]: 6E98A1A404CC: message-id=<6.1.2.0.2.20130708131351.24958960@pop.eastlink.ca>
Jul  8 12:14:36 cl-t082-392cl postfix/qmgr[28717]: 6E98A1A404CC: from=<me@example.com>, size=1343, nrcpt=1 (queue active)
Jul  8 12:14:36 cl-t082-392cl postfix/pipe[28752]: 6E98A1A404CC: to=<bounces+test@ourdomain.com>, relay=plesk_virtual, delay=0.22, delays=0.15/0/0/0.07, dsn=2.0.0, status=sent (delivered via plesk_virtual service)
Jul  8 12:14:36 cl-t082-392cl postfix/qmgr[28717]: 6E98A1A404CC: removed

所以看起来Postifx正在做它的工作,但是plesk_virtual服务正在放弃。没有消息返回给发件人。跳出/ Maildir / cur中没有消息显示。如果plesk_virtual在某处写错误,我不知道在哪里(我检查了/ var / log / messages)。

我的搜索工作

我搜索了Google,这里和Parallels论坛。我在Google上遇到了几个与我遇到的问题相同的点击,但它们都是针对差不多3年前发布的相同消息。并没有给出解决方案。我几天前发布了Parallels论坛。我得到了一些观点,但回答为零。

想要

我看到类似的问题,建议是将所有未送达的邮件转发到特定地址。这是一个全能的。在当今的垃圾邮件世界中,这不是一个现实的解决方案。

问题

如何让Plesk正确识别并使用分隔符将消息传递到地址?我无法想象我是唯一一个想在Plesk服务器上执行此操作的人。

1 个答案:

答案 0 :(得分:2)

我在Plesk论坛上回答了这个问题。对于仍然感兴趣的人,有一个后缀解决方法。 在main.cf中添加了以下内容:

recipient_canonical_classes = envelope_recipient
recipient_canonical_maps = regexp:/etc/postfix/recipient_canonical_map

使用此正则表达式创建文件/ etc / postfix / recipient_canonical_map:

/^(.+)\+.+@(.*)/ ${1}@${2}

当然,它假定+是唯一的VERP分隔符,但它可以工作。唯一需要注意的是,它不会反弹坏地址,这可能不是一件坏事。