sendmailが「No route to host」と配信してくれない

FreeBSDのバージョンも11になり、久しぶりにサーバーを建ててみたのですが、BINDがベースシステムから外れたせいでnslookupdigが使えない。
今回の目的はWebサーバーとしてのMTAなので、この辺はスルーしたのですが、Webフォームから送ったメールが届かないという事態に。

本来はqmail愛好者なんですが、Webサーバーの場合はFreeBSDのベースシステムに入っているsendmailをそのまま使っています。

$ mailq

とすると、どっさりと通知が貯まってます。
良く見るとNo route to hostの文字が。

DNS設定を見直したり、セキュリティ関係を見直したり、ホスト名を見直したりしてもダメだったので過去のメモ書きを眺めていて発見しました。
sendmailの初期設定をしないとダメだったんですね。

このページ内の目次

sendmailの初期設定

初期設定ファイルをリネームして、freebsd.mcに変更を加えます。

# cd /etc/mail
# cp freebsd.cf freebsd.cf_org
# cp freebsd.mc freebsd.mc_org
# mv sendmail.cf sendmail.cf_org
# vi freebsd.mc

下記を追加します。(dnlで始まっている行はコメントアウトされています)
192.168.XXX.XXXは転送先のサーバーです。

define(`SMART_HOST',`[192.168.XXX.XXX]')

cfファイルを書き出してsendmailを再起動します。

# make freebsd.cf
# cp freebsd.cf sendmail.cf
# make restart

ドサドサとメールが届きました。