我目前正在管理一个由 Exim 4.85 处理的电子邮件服务器。此服务器目前为所有外发邮件添加页脚。可以在多个指南中找到添加此功能的行:
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
我想我可以利用字符串扩展功能,并altermime
使用空白文件,但到目前为止,这一直是一场噩梦。我基本上一直在
Expansion of [...] failed: condition name expected, but found ""
和
transport filter process failed (127): unable to execute command
令我困扰的是,通过命令测试扩展exim -bem
会返回所需的输出。
这些只是我的一些失败的尝试:
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}}}
关于如何做到这一点有什么想法吗?
答案1
将您的 transport_filter 设置为 bash/python/.. 脚本
transport_filter = /scripts/exim_add_signature.sh $sender_address
看http://www.exim.org/exim-html-current/doc/html/spec_html/ch-generic_options_for_transports.html有关transport_filter的文档。
在脚本中执行以下操作(伪代码):
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