📧
CentOS Postfix: DKIM設定でのメール配信遅延を解消する方法
どもども、かずおです。
CentOSのPostfixでDKIMを設定する際のメール配信遅延に対処する方法を共有します。
要約
- メール送信にはSPF、DNS、DKIM、DMARCの設定が必要。
- PostfixにOpenDKIMの処理でメール送信が遅くなることがある。
- 対策:Node.jsを使用したメール送信プログラム側でDKIM認証を追加。
はじめに
Googleのメール送信者のガイドライン変更により、迷惑メール判定されないようにするためには、SPF、DNS、DKIM、DMARCの設定が必要になりました。
弊社では会員様にメール配信をしていますが、一部のメール配信システムがDKIMの設定をしていないため、PostfixにOpenDKIMを設定したのですが、メール送信スピードが1.5~2倍遅延する現象が発生しました。
メール送信スピードを向上させるために、以下の対策を実施しました。
対策. メール送信プログラム側でDKIM認証(Node.js)
Node.jsのNodemailerを使用している場合、メール送信プログラムにDKIM認証を追加します。
var createSMTPServer = function() {
let transporter = nodemailer.createTransport({
host: "localhost",
// DKIM認証の追加
dkim: {
domainName: "署名に使用されるドメイン名",
keySelector: "キーセレクター",
privateKey: fs.readFileSync("DKIMの秘密鍵ファイル")
}
});
return transporter;
};
- domainName:署名に使用されるドメイン名
- keySelector:キーセレクター。例: zzz._domainkey.example.comで DKIM 公開キーを使用して TXT レコードを設定した場合は、zzzセレクターになります。
- privateKey:署名に文字列として使用されるDKIMの秘密鍵ファイル
最後に
この対策を実施することで、CentOSのPostfixでDKIMを設定した際のメール配信遅延に効果的に対処できました。
対策の結果は以下の通りです。
-
対策:メール送信プログラム側でDKIM認証(Node.js)
- DKIM設定前と同等の配信スピードを維持
上記の対策以外にも、DKIMを設定した際のメール配信遅延に対処する方法が存在しますが、今回試した手法を共有いたします。
Discussion