Exim

如何在路由器中設置變數以在 SMTP 傳輸中獲取

  • July 24, 2018

在 exim4 中,我有一個重定向路由器,它更改了一些標頭,包括From:標頭。

dkim_domain如果給出、dkim_selectordkim_private_key參數,我的 SMTP 傳輸將對郵件進行 DKIM 簽名。這些來自宏,例如在傳輸中:

dkim_domain = DKIM_DOMAIN

其中DKIM_DOMAIN宏定義為

DKIM_DOMAIN = ${lc:${domain:$h_from:}}

這都是“正常的”。但問題是我的路由器正在使用headers_add更改 From 標頭,但正因為如此:

這意味著在傳輸配置中對字元串擴展中的標題行的引用不會“看到”添加的標題行。

來源 - 見headers_add

傳輸總是尋找原始的From 標頭,而不是重寫的標頭。

如何更改宏以某種方式以路由器可能影響的方式查找域?我什至無法在路由器中設置自定義傳輸,因為它是重定向路由器。

看來(仍在測試)這可以通過添加address_data路由器來完成,例如:

address_data = foo=bar my_dkim_domain=example.com

然後使用宏來表示dkim_domain

${extract{my_dkim_domain}{$address_data}{$value}{${lc:${domain:$h_from:}}}}

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