使用Exchange实现可变信封返回路径(VERP)


10

我们正在研究实现可变信封返回路径(VERP),以改进应用程序的跳出处理。

我们当前的邮件基础结构是MS Exchange 2007,但是正在升级到2010。我们还实施了Postini进行垃圾邮件过滤。

Exchange不支持子寻址(另请参阅有关可使用地址的问题),并且VERP在某种程度上是子寻址的专用应用程序。

是否有任何选择可以在Exchange中实现VERP,而无需在Exchange前面放置另一个非Exchange SMTP中继来预处理传入消息?具体地说,是否可以创建一个传输规则,使其与目标(不存在)收件人匹配,将该收件人地址存储在添加到邮件中的特殊标头中,然后将邮件重定向到预先创建的邮箱?

注意:如果可以以某种方式使用自定义代码,我们有可用的开发人员资源。


1
看到赏金规则在serverfault.com/faq我推荐程序如下建议:meta.stackexchange.com/questions/7046/...
杰夫·阿特伍德

Answers:


1

当然,开箱即用,Exchange 2007/2010中不支持VERP。如你所知。我认为即使使用PowerShell,您也无法创建传输规则来执行所需的操作。我相信您将得到的最接近的就是建立自己的运输代理。您可以在msdn.microsoft.com上找到Exchange SDK。如果您的目标是确定邮件被退回给谁,那么最好解析协议日志。协议日志记录必须打开,并且具有单独的发送/接收日志。保罗,祝你好运



1

交流很烂。Linux邮件软件是免费的。将其安装在一个盒子上,为您发送的所有特定于应用程序的邮件配置一个子域。(类似于myapp.mycompany.tld,因此您的所有邮件都来自someuser@myapp.mycompany.tld)

编写(或让某人编写)一个快速而肮脏的应用程序将非常容易,该应用程序将接收和处理退回消息并使用SOAP之类的东西通知您的应用程序。

如果您是纯Windows环境,那么中断运行单一的Linux服务器并不是一件有趣的事情,但是我不知道使用Exchange可以做到这一点。

另一种选择是在每封邮件的标题,主题或正文中嵌入唯一的字符串。使用X-MyApp-Id:等等。当然,这可能会使更多的垃圾邮件过滤器绊倒...


0

为此,我们将解析邮件跟踪日志,并制定一条规则,在发送退回邮件之前将其删除。如果您的发送应用可以创建VERP返回路径,则此方法有效。不是不能进行VERP交换的SMTP部分,是不能处理通配符以将退回邮件存储在邮箱中的邮箱部分。如果您使用日志,则无需发送退回邮件,从而减少了邮件流量。日志是csv文件,因此它们会整齐地加载到数据库中,然后解析出VERP记录ID的返回路径字段,并使用原因代码将其标记为硬跳或软跳。我们的问题是,如果您的应用程序使用smtp连接到exchaange服务器,则该方法会很好用。因为某些原因,如果使用提取目录交换,则将verp返回路径替换为发件人地址,并且您将无法执行此操作。仍在尝试找出答案。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.