sendmailでconnection refused
アプリケーションサーバで直接SMTP経由でメールを受け取れるように設定。
sendmail.mcでsmtpリレーの設定をかいて、sendmail.cfを作成、sendmailをリスタート。
リレーするホストからtelnet 25でテストしてみると、
$ telnet xx.xx.xx.xx 25 Trying xx.xx.xx.xx... telnet: Unable to connect to remote host: Connection refused
む、なぜだ。localhost上からtelnet localhost 25とやるとちゃんとつながる。
ちょっと調べてみると、sendmail.cf上のDaemonPortOptionの値がよくない模様。
使っているRHEL6ではデフォルトでこんな値になっています。
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
Addrのところがlocalhostなので、ここからの接続しか受け付けない。
sendmail.cfのこの行をコメントアウトするか
#O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
アドレスのところを0.0.0.0にするか、またはsendmail.mcでのこれに相当するところを同じように修正(コメントアウト)してsendmail.cfを作成。
dnlDAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')