大学からyahoo.co.jpへのメールが迷惑メール扱いされる件について
気づかなかった学生さんへの連絡に差し支えが出ていたので、研究室のサーバにDomainKeys (dkfilter)を入れた。しかし、mailmanとの組み合わせが難しく、手動でmailmanのPythonスクリプトを修正。それでもGmailではhardfailするという不思議。Yahoo!メールではpassするのに…dkfilterはもうobsoleteらしい。dkimproxyにしたら直った。dkimproxyでも、--signature domainkeysオプションをつければ、DomainKey-Signatureをつけられる。ちなみにpostfixが2.3より古いので、dkim-milterは使えない。
あと、Gmailから来るメールは、DomainKey-Signature行にq=dnsが抜けていてハマった︵DomainKeysではRFC違反︶。こちらもdkfilterのPerlスクリプトを手動で修正。dkimproxyにすればDomainKeysではなくDKIMのほうをチェックするのでOK。ちなみに、GmailはDKIMに対応しているようだが、Yahoo!メールは対応していない。
そういえば、以前にHotMailでも迷惑メール扱いされて、そのときにSender ID (SPF)を入れたのだった。むー。
追記‥あと、postfix + dkfilterだと内→外と外→内のSMTPポートをわけろ、とあるのだが、ユーザ全員のメーラ設定を変更してもらうのは無理なので、気合いとiptablesで外→内はポート転送した。/etc/init.d/postfixのstartあたりに
iptables -t nat -j DNAT -A PREROUTING -p tcp -d サーバのIPアドレス --dport 25 -s '!' ローカルネットワークのアドレス/255.255.255.0 --to-destination サーバのIPアドレス:26のような感じで仕込む︵stopのほうは-Aのかわりに-D︶。面倒な… 追記2‥自分の管理下にない某迷惑メールフィルター装置が﹁CC:﹂や﹁cc:﹂を﹁Cc:﹂に書き換えるので、dkimproxy.inで署名の検証がfailする…。Thunderbirdは﹁CC:﹂で送るので起きやすい。