2015年6月4日木曜日

FreeBSDのpostfixが「unsupported SASL client implementation: cyrus」というwarnigを出す

FreeBSDのpostfixが「unsupported SASL client implementation: cyrus」というwarnigを出しており、うまくメールが配送できていないことに気が付きました。FreeBSDとpostfixは
# uname -r
9.2-RELEASE-p15

# pkg info -x postfix
postfix-current-3.0.20150410,4
というバージョンです。

さっそく、検索エンジンで探してみると、
postfixでSMTP_AUTH
http://www.anseilen.org/puki/index.php?postfix%A4%C7SMTP_AUTH
というWWWページをみつけました。こちらによると、
いつのバージョンからか、-DUSE_CYRUS_SASLを追加しないとcyrus-saslに対応できなくなったそうだ。 これを外してやってみると、
warning: unsupported SASL client implementation: cyrus
と言うエラーが出て使えない。
とあり、同様な状況のようです。このWWWページ中の解決策、「makeの引数で陽に-Dで指定する」のは他のデフォルトの設定がわからないので採用できません。

とりあえず/usr/port/mail/postfix-currentディレクトリで
# make config
としてみると、確かに
[ ] SASL       SASL authentication support
にとなっていSASL authentication機能が組み込まれていません。ただ、
SASL authentication機構としては、
Dovecot SASL authentication methods
の欄しかなく、warningにあるcyrusは選べません。

困りましたが、悩んでいるだけでは状況は変わらないので、とりあえず試してみることにしました。上記のSASL authenticationを有効にして、make; make reinstallし、さらに
/usr/local/etc/postfix/mail.cfにある
smtp_sasl_type = cyrus

# smtp_sasl_type = cyrus
としてcyrusの指定を外してみました。
すると、メールが配送されるようになりました。