Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 通过返回路径头检测被跳转的消息_Email_Bounce_Bouncedemail - Fatal编程技术网

Email 通过返回路径头检测被跳转的消息

Email 通过返回路径头检测被跳转的消息,email,bounce,bouncedemail,Email,Bounce,Bouncedemail,不久前,我看到一个关于检测被反弹邮件的问题: 我正在开发一个工具,将发送大量邮件(不是垃圾邮件:),我需要添加一个功能,将检测反弹的邮件。是否有与反弹相关的标准响应?它会在身体的头部吗? 圣诞老人,2011-09-12 您不能依靠被跳转邮件的标题或正文来可靠地识别原始收件人,特别是如果您希望自动化该过程。即使您添加了自己的自定义标题,跳转服务器在向您发送通知时也可能会将其删除 在跳转过程中唯一保持完全未被触及的信息是返回路径电子邮件地址——您的服务器宣传它希望跳转发送到的地址。因此,自动化真正

不久前,我看到一个关于检测被反弹邮件的问题:

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


您不能依靠被跳转邮件的标题或正文来可靠地识别原始收件人,特别是如果您希望自动化该过程。即使您添加了自己的自定义标题,跳转服务器在向您发送通知时也可能会将其删除

在跳转过程中唯一保持完全未被触及的信息是返回路径电子邮件地址——您的服务器宣传它希望跳转发送到的地址。因此,自动化真正准确的跳出捕获的唯一方法是将收件人直接编码到返回路径地址本身。 这通常是通过覆盖每个传出邮件的服务器默认返回路径地址来实现的,每个收件人使用一个唯一的值,如bounce-XXXXX@yourdomain.com,其中XXXXX是收件人电子邮件地址或其他内部标识符的编码和/或模糊表示。这项技术需要使用一个电子邮件服务器,它可以支持这种类型的通配符捕获所有地址,这样你就不必为你发送到的每个电子邮件地址设置一个新的跳出帐户。假设这样,您只需将服务器配置为将所有此类bounce-*电子邮件转储到您的脚本,脚本只需解码XXXXX即可确定原始收件人。 2011年9月12日回答Alex Howansky

以上似乎是一个很好的解决方案。 现在我的问题是:

如何配置Postfix(或任何其他)邮件服务器以转储来自bounce@yourdomain.com帐户到将解析和检索原始收件人身份的脚本?脚本是否保存在邮件服务器的目录中,转储的邮件是否保存在同一目录中

第三方电子邮件服务提供商是否允许您配置用于转储邮件的电子邮件帐户,并在服务器中安装脚本


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

你的意思是反弹+token@yourdomain.com,而不仅仅是普通的
bounce@yourdomain.com
。标志是它的独特之处

Postfix已接受
a的邮件+something@example.net
给定有效地址
a@example.net
只要您在
main.cf
中配置
收件人分隔符

recipient_delimiter = +
bounce@yourdomain.com    bounce:
有几种不同的方法可以配置Postfix,以便它将邮件发送到脚本并告诉您令牌是什么。试试这个:

  • 创建地址
    bounce@yourdomain.com
    与在该域中通常创建别名的方法相同:例如,常规别名或虚拟邮箱

  • master.cf
    中创建自定义送货运输
    ${extension}
    意味着脚本将接收在
    +
    之后的任何内容作为其第一个参数,并且
    应该是脚本应该运行的本地uid

    bounce   unix  -       n       n       -       -       pipe
      flags=R user=<username> argv=/script/which/receives/bounces ${extension}
    
  • 将以下行添加到direct
    bounce@yourdomain.com
    到您在
    master.cf中创建的新传输:

    recipient_delimiter = +
    
    bounce@yourdomain.com    bounce:
    
  • 重建交通地图:

    postmap /etc/postfix/transport