Exim

Exim - 為除一位使用者外的所有外發電子郵件添加頁腳

  • September 2, 2015

我目前正在管理由 Exim 4.85 處理的電子郵件伺服器。該伺服器目前為所有外發郵件添加頁腳。可以在幾個指南中找到添加此功能的行:

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

但是,現在有必要將某些外發電子郵件保持原樣。優點是必須為單個電子郵件地址(即 )完成此操作bob@example.com,並且所有這些電子郵件都將是純文字的(即沒有 HTML)。

例子:

alice@example.com sends email ===> exim adds footer ===> delivered
 bob@example.com 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}{bob@example.com}{/etc/exim_footer}{/etc/empty_file}}'
transport_filter=/usr/bin/altermime --input=- --disclaimer=${if eq {$sender_address}{bob@example.com}{/etc/empty_file}{/etc/exim_footer}} --disclaimer-html=/etc/exim_footer_html
transport_filter={${if eq {$sender_address}{bob@example.com}{/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 = ["bob@example.com"]
if (argv[1] isnotin no_signature_mails)
   /usr/bin/altermime --input=- --disclaimer=/etc/exim_footer --disclaimer-html=/etc/exim_footer_html

引用自:https://serverfault.com/questions/718657