检测通过返回路径头退回的邮件

问题描述:

前一段时间我看到一个有关检测邮件被退回的问题:检测通过返回路径头退回的邮件

我一个工具,会发送大量的邮件(非垃圾邮件:)工作,我需要添加一个功能,将检测退回的消息。是否有与反弹有关的标准回应?它会在身体的头部吗? 通过圣诞老人,2011-09-12


你不能依靠无论是头部或退回的邮件的身体能够可靠地识别原始收件人,特别是如果你想的过程自动化。即使您添加了自己的自定义标头,但它可能会在弹回服务器发送通知时剥去它们。......................... ....

的,将留在反弹完全不变信息的唯一的一块是返回路径的电子邮件地址 - 您的服务器通告就是了发送到反弹的地址。因此,真正准确反弹捕捉的自动化的唯一方法是直接将收件人编码到返回路径地址中。 这通常是通过使用每个收件人的唯一值来覆盖服务器的每个传出邮件的默认返回路径地址来完成的,例如[email protected],其中XXXXX是收件人电子邮件地址的某些编码和/或模糊表示或一些其他内部标识符。此技术要求使用可支持此类通配符全部地址的电子邮件服务器,以便您不必为要发送到的每个电子邮件地址设置新的退回帐户。假设您只需将服务器配置为将所有此类反弹电子邮件转储到您的脚本,该脚本仅需要解码XXXXX以确定原始收件人是谁。 回答年09月12 '11亚历Howansky

上面似乎是最佳选择。 现在我的问题是:

如何将一个后缀(或任何其他)的邮件服务器配置转储每个退回的电子邮件从[email protected]帐户一个脚本,将解析和检索的身份原始收件人?是否将脚本保存在邮件服务器中的目录以及同一目录中的转储邮件中?

将第三方电子邮件服务提供商允许您配置的电子邮件帐户倾销的消息,并在服务器上安装的脚本?

相关标准被称为VERP,顺便说一句。

你的意思是[email protected],不只是简单的[email protected]。令牌是独一无二的!

后缀已经将你只要配置接收邮件[email protected]给出一个有效的地址[email protected]recipient_delimitermain.cf

recipient_delimiter = + 

有几种不同的方式来配置Postfix的,这样它会传递邮件你的脚本,并告诉你什么是令牌。试试这个:

  1. 创建地址[email protected]你在该领域通常创建别名以同样的方式:例如常规别名或虚拟邮箱

  2. master.cf中创建自定义递送传输。 ${extension}表示该脚本将接收+作为其第一个参数之后发出的任何内容,<username>应该运行脚本的本地uid。

    bounce unix -  n  n  -  -  pipe 
        flags=R user=<username> argv=/script/which/receives/bounces ${extension} 
    
  3. 创建交通地图,如果你不已经有一个:

    transport_maps = hash:/etc/postfix/transport 
    
  4. 添加以下行/etc/postfix/transport直接[email protected]您在master.cf创建新的转运:

    [email protected] bounce: 
    
  5. 重建运输图:

    postmap /etc/postfix/transport