Exim - 为除一个用户之外的所有外发电子邮件添加页脚

Exim - 为除一个用户之外的所有外发电子邮件添加页脚

我目前正在管理一个由 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

相关内容