我使用域转发文件通过 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"