たとえば、 /etc/postfix/main.cf
で
relayhost = smtp.gmail.com:587
smtp_sasl_password_maps = hash:/etc/postfix/xxxxx
などと設定して、メールをGmail経由で送信できるようになったとします。この場合、上記 /etc/postfix/xxxxx
で指定しているGmailのアドレスを、仮に YYYYYYYYYYYYYY@gmail.com として話を進めます。
で、そうなると自分管理の root@XXXXX.com などへのメールを自分のGmailアカウントなどに転送したくなります。で、 /etc/aliases
に
root: XXXXXXXXXXXXXX@gmail.com
などと書きますが、実際、 root@XXXXX.com に、たとえば xxx@xxxxx.xx.xx から試験メールを送って、 XXXXXXXXXXXXXX@gmail.com のメールボックスの当該メールの 原文を表示
とすると、
DKIM: 'FAIL'(ドメイン: xxxxx.xx.xx)詳細
と表示されることがあります。
原因は、試験メールの送り元の xxxxx.xx.xx が、既に DKIM-Signature:
ヘッダをつけちゃっていて、そのヘッダがあるとGmailは自身の DKIM-Signature:
を付加したり書き替えたりしない、ということです。それでも、メールそのもののfromは YYYYYYYYYYYYYY@gmail.com であるので、DKIMがFAILになるわけです。
それで、 /etc/postfix/main.cf
で
header_checks = regexp:/etc/postfix/header_checks
とし、 /etc/postfix/header_checks
で
/^DKIM-Signature:/ IGNORE
として、転送するときに、最初の送信元の DKIM-Signature
ヘッダを削除してしまえば、Gmailが YYYYYYYYYYYYYY@gmail.com のための DKIM-Signature
ヘッダをよろしく付加してくれるので、
DKIM: 'PASS'(ドメイン: gmail.com)詳細
となり、すべてがまるくおさまり、世界が平和になるというわけです。
以上