使用 exim 转发邮件时,如何使用真实目标地址重写收件人标题

使用 exim 转发邮件时,如何使用真实目标地址重写收件人标题

我使用域转发文件通过 exim 设置了邮件转发。

virtual_aliases_nostar:
  driver = redirect
  allow_defer
  allow_fail
  data = ${if exists{/etc/valiases/$domain}{${lookup{$local_part@$domain}lsearch{/etc/valiases/$domain}}}}
  file_transport = address_file
  group = mail
  pipe_transport = virtual_address_pipe
  retry_use_local_part
  domains = lsearch;/etc/localdomains
  unseen

它运行良好。

但是,我想重写“收件人”标题。在我的系统过滤器中,我想放入类似以下内容的内容:

  headers remove to
  headers add "To: $recipient:"

我试过了:

  headers remove to
  headers add "To: $recipient:"

  headers remove to
  headers add "To: $h_env-to:"

  headers remove to
  headers add "To: $env-to:"

目的是让最终收件人在其邮件客户端的“收件人:”行中看到自己的电子邮件地址。

我似乎无法弄清楚电子邮件最终目的地的正确标头是什么,以便我可以将其放入收件人标头中。我已阅读 Exim 文档,但似乎找不到它。我也在邮件客户端中查看了电子邮件的标头,但在那里也看不到它。

任何建议,将不胜感激。

答案1

您想To:用计算出的电子邮件最终目的地替换现有标题(其中可能包含其他收件人或邮件列表的名称)吗?您已经有一些代码来确定电子邮件的最终目的地,因此请使用它:

headers remove to
headers add "To: ${if exists{/etc/valiases/$domain}{${lookup{$local_part@$domain}lsearch{/etc/valiases/$domain}}}}"

答案2

headers remove to
headers add "To: $original_local_part@original_domain"

相关内容