我目前正在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