Linux

  (最終更新日:2017.06.28)

【sendmail】メールがリレーされないときの解決策

sendmailで、『“Smart” relay host』にリレーの設定を入れているのにも関わらず、なぜかリレーされないという謎事象にぶち当たりましたのでその解決策をメモ的に残しておきたいと思います。

状況

今回の環境の状況としては、まず hosts ファイルに転送先となるリレーサーバを記載します。

# vi /etc/hosts

192.168.100.1           mailhost

続いて sendmail.cf にリレーの設定を。

# vim /etc/mail/sendmail.cf

下記に修正
# "Smart" relay host (may be null)
DSmailhost$?m.$m$.

あとは sendmail を再起動すればメールがリレーされるようになる・・・ はずだったのですが、実際には転送されず。maillogを確認したところ、なぜか localhost での配送となってしまっていました。

Jun 28 10:37:07 pgdbsv sendmail[6546]: v5S1b7Ul006546: from=root, size=80, class=0, nrcpts=1, msgid=<
201706280137.v5S1b7Ul006546@pgdbsv.local>, relay=root@localhost
Jun 28 10:37:07 pgdbsv sendmail[6546]: v5S1b7Ul006546: to=[宛先メールアドレス], delay=00:00:00, mailer=e
smtp, pri=30080, dsn=4.4.3, stat=queued

つまるところ、転送先となるメールサーバーの名前解決がhostsに記載しているのにできていなくてそのままスルーされているか感じです。

結論:service.switchファイルを作成する

解決策としては、service.switch というファイルを作成して名前解決に hosts を優先するということを明記すればOKでした。

ただ他の環境ではこんなことなかったのでこの sendmail のバージョン( sendmail-8.13.8-8.1.el5_7 )のバグじゃないのかな‥とも思いつつ。

# vim /etc/mail/service.switch
hosts   files
(間はスペースじゃなくてタブが必須)

# /etc/rc.d/init.d/sendmail restart

これでリレーされない事象が解決することもあるかなと。
するといいですね。

スポンサーリンク
スポンサーリンク

関連記事

  1. Linux

    【CentOS 7】特定ユーザーのクォータ設定を削除(無制限)にする

    xfs_quotaコマンドでディスククォータの設定を行っている時に、制…

  2. Linux

    【pigz】Linux環境でマルチコアをフル活用して圧縮・解凍する方法

    Linux環境でファイルの圧縮・解凍をするときには gzip や gu…

  3. Linux

    LinuxでCPUのコア数と物理プロセッサ数を確認する方法

    サーバに搭載しているCPUのコア数やプロセッサ数を確認したくなったので…

  4. Linux

    fail2ban 0.9.3をインストールしてFTP攻撃をブロックする方法

    所有している公開サーバでFTPによる不正アタックが頻発してきましたので…

  5. Linux

    CentOS 6.7でデフォルトのカーネルを変更する方法

    CentOS 6.7で、yum updateによるカーネルのバ…

  6. Linux

    【sudo】メール通知の件名を変更する方法

    mail_always 設定を入れておくことでsudoを実行した際に管…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

最近の記事

  1. さくらのVPSにCentOS 5をインストールする方法
  2. PHP PhantomJSでFatal error: Unc…
  3. 【Oracle】DataPumpの対話式コマンドモードを抜け…
  4. CentOS7のPHP5.6にPhpSpreadsheetを…
  5. Azure仮想マシン(CentOS 7)のStandardデ…
PAGE TOP