sendmailで、『“Smart” relay host』にリレーの設定を入れているのにも関わらず、なぜかリレーされないという謎事象にぶち当たりましたのでその解決策をメモ的に残しておきたいと思います。
状況
今回の環境の状況としては、まず hosts ファイルに転送先となるリレーサーバを記載します。
続いて sendmail.cf にリレーの設定を。
あとは sendmail を再起動すればメールがリレーされるようになる・・・ はずだったのですが、実際には転送されず。maillogを確認したところ、なぜか localhost での配送となってしまっていました。
つまるところ、転送先となるメールサーバーの名前解決がhostsに記載しているのにできていなくてそのままスルーされているか感じです。
結論:service.switchファイルを作成する
解決策としては、service.switch というファイルを作成して名前解決に hosts を優先するということを明記すればOKでした。
ただ他の環境ではこんなことなかったのでこの sendmail のバージョン( sendmail-8.13.8-8.1.el5_7 )のバグじゃないのかな‥とも思いつつ。
これでリレーされない事象が解決することもあるかなと。
するといいですね。