Exim – 将脚注添加到除一个用户以外的所有外发电子邮件

我目前正在pipe理一个由Exim 4.85处理的电子邮件服务器。这个服务器当前添加了一个页脚到所有的外发邮件。 添加此function的行可以在几个指南中find:

transport_filter=/usr/bin/altermime --input=- --disclaimer=/etc/exim_footer --disclaimer-html=/etc/exim_footer_html 

但是,现在有必要保持原来的某些外发电子邮件。 好处是必须为一个电子邮件地址(即[email protected] ,所有这些电子邮件都将是纯文本的(即没有HTML)。

例:

 [email protected] sends email ===> exim adds footer ===> delivered [email protected] sends email =========================> delivered 

我想我可以利用string扩展function,使altermime使用一个空白的文件,但它一直是一个噩梦到目前为止。 我基本上已经越来越

 Expansion of [...] failed: condition name expected, but found "" 

 transport filter process failed (127): unable to execute command 

困扰我的是,通过exim -bem命令testing扩展会返回所需的输出。

这些只是我失败的一些尝试:

 transport_filter=/usr/bin/altermime --input=- --disclaimer='${if eq {$sender_address}{[email protected]}{/etc/exim_footer}{/etc/empty_file}}' transport_filter=/usr/bin/altermime --input=- --disclaimer=${if eq {$sender_address}{[email protected]}{/etc/empty_file}{/etc/exim_footer}} --disclaimer-html=/etc/exim_footer_html transport_filter={${if eq {$sender_address}{[email protected]}{/etc/empty_file}{/usr/bin/altermime --input=- --disclaimer=/etc/exim_footer --disclaimer-html=/etc/exim_footer_html}}} 

任何想法如何做到这一点?

将你的transport_filter设置为bash / python / ..脚本

 transport_filter = /scripts/exim_add_signature.sh $sender_address 

有关transport_filter的文档,请参阅http://www.exim.org/exim-html-current/doc/html/spec_html/ch-generic_options_for_transports.html

在脚本中执行以下操作(伪代码):

 no_signature_mails = ["[email protected]"] if (argv[1] isnotin no_signature_mails) /usr/bin/altermime --input=- --disclaimer=/etc/exim_footer --disclaimer-html=/etc/exim_footer_html