Postfix

為系統生成的 DKIM 簽名電子郵件配置後綴

  • October 22, 2013

我的網路託管伺服器具有啟動和執行的 Postfix 設置。該後綴也在STARTTLS埠 587 上開放,供授權使用者(現在只有我、我自己和我)在使用 DKIM 簽名後向任何域發送電子郵件。

我通過 Outlook 發送的每封電子郵件都可以進行身份驗證。所有 DMARC 報告均未顯示錯誤。問題是當 Web 應用程序通過該 Postfix 發送電子郵件時。

由於我使用 Apache 的mod-itkPHP 託管,所有電子郵件都由 Postfix 生成username@host.mydomain.com並通過標準方式(sendmail???)送出給 Postfix。

但這樣一來,它們就不是 DKIM 簽名的。考慮以下:

$ mail check-auth@verifier.port25.com
Subject: Test DKIM
Hello
.
EOT

埠 25 回應:

----------------------------------------------------------
DomainKeys check details:
----------------------------------------------------------
Result:         neutral (message not signed)
ID(s) verified: header.From=djechelon@host.mydomain.com
DNS record(s):

----------------------------------------------------------
DKIM check details:
----------------------------------------------------------
Result:         neutral (message not signed)
ID(s) verified: 

Postfix 日誌不顯示dkimproxy互動。

在發布我的配置之前,讓我們重複一下情況並提出問題。

目前,當我通過 SMTP/TLS 在埠 587 上發送電子郵件時,它會獲得 DKIM 簽名。當伺服器上的程序使用mail命令或 PHP 內置郵件功能發送電子郵件時,郵件不會被 dkimproxy 簽名。

問題是:如何對來自伺服器本身的每封電子郵件進行簽名dkimproxy

配置粘貼到http://pastebin.ca/2374363。請注意,我只是dkimproxy.out暫時啟用

您僅將 dkim SIGNING 添加到送出埠。

Postfix 分別處理 smtp 和 Pickup 的送出(sendmail 命令送出的郵件是通過 Pickup 進入 Postfix 的)

在 postfix 你應該在 main.cf 中使用 dkim milter

smtpd_milters = inet:localhost:10027
non_smtpd_milters = inet:localhost:10027

第一行用於 SMTP 送出(埠 587)

第二行是通過取件進入的郵件

需要注意的一點是,postfix 內部生成的退回郵件和 NDR 報告不會經過 DKIM 簽名

參考http://www.postfix.org/MILTER_README.html

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