sendmail動作停止

sendmail-sasl2のportのバージョンが上がっていたのでportupgradeでバージョンアップしたら、いつの間にかメール中継が出来なくなっていた。

ログを確認するとメール送信時のSMTP AUTH認証が出来なくなっているらしい。このサーバーは送信メールをとあるISPのSMTPサーバーにすべて丸投げする設定になっているので、このSMTP AUTHが通らないとすべてのメールがロストするんだよね。困った。

で、原因を調べてみると、どうやらこれまで-sasl2や-tlsなどのサブportに分かれていたsendmailのportがすべてmail/sendmailに統合されてオプション指定で選択する様に変更されたらしい。ところがportupgrade時にsendmail-sasl2からsendmailにアップグレードしておきながらSASLのオプションはデフォルトで外れているというなんという盲点。SASLが追加されてないとSMTP AUTHに必要なライブラリがないので認証できていなかっただけというオチ。

で、make configでオプション画面を再び呼び出してSASLとSASLAUTHDをチェックしてmakeしようとしたら、エラーでストップ。どうやらデフォルトでTLSをチェックした状態でインストールされたものはsendmail+tlsのパッケージとして登録される様になっており、SASLがチェックされると別パッケージ名になるのでコンフリクトだとおっしゃる。しょうがないので、sendmail+tlsをデリートしてから、デフォルトにSASLとSASLAUTHDを追加(TLSもデフォルト通りついたまま)してmake install。どうやら無事にsendmail+sasl2+tlsとしてインストールされた様だ。その後、メール中継が無事に動いていることを確認。maillogを見ても中継出来てなかった間に特にメールは来てなかったみたいなのでとりあえず一安心。

ていうか、こんな大事な事、ちゃんと/usr/ports/UPDATINGに書いとけよ。