【问题标题】:Identifying where a message was forwarded to识别消息转发到的位置
【发布时间】:2011-12-12 04:16:31
【问题描述】:

这是难以解释的问题之一。我在下面已经尽力了,希望我的意思很清楚。

电子邮件正在进入一个地址 (foo@example.com),并被转发到另一个电子邮件地址 (bar@subdomain.example.com)。第二个电子邮件地址进一步将电子邮件传送到一个简单的脚本,但脚本需要实际知道第二个电子邮件地址,因为它提供了对消息排序至关重要的元数据(也就是说,脚本通过管道传输任何发送到 * @subdomain.example.com,它需要看到它被转发到 bar@subdomain.example.com 以便正确处理传入的消息)。

最初,我认为用于将消息从 foo@example.com 转发到 bar@subdomain.example.com 的虚拟别名会更新信封到标头,但它保持不变。其他标头和“已接收”行均未反映消息已转发。我的理论是,也许 *@subdomain.example.com 的管道指令可以更新,以某种方式将实际地址传递给脚本,但我不确定如何。

作为参考,我在下面提供了一些示例:

标头,转发后:

From sender@example.com Sun Dec 11 19:53:40 2011
Envelope-to: foo@example.com
Received: ...
Subject: Test 6

subdomain.example.com 的 valias 文件 (/etc/valiases/subdomain.example.com):

*: "|/home/user/example_script.x.php"

【问题讨论】:

    标签: email exim


    【解决方案1】:

    我回答了我自己的问题。事实证明,收件人可以在环境变量中访问。就我而言,由于我使用的是 PHP,所以我可以使用以下变量:

    $_ENV['RECIPIENT']
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 2021-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多