mailコマンドでメール送信できない「send-mail: Cannot open mail:25」
特定のサーバーでメールが届かないことがわかり、サーバーにログインしてmailコマンドでメール送信すると下記のようにエラーになります
$ echo "test" | mail -s "test" hoge@example.com $ send-mail: Cannot open mail:25
また、メールログを確認すると以下のエラーがでています
$ sudo head /var/log/maillog Dec 2 05:54:17 bone sSMTP[19630]: Unable to locate mail Dec 2 05:54:17 bone sSMTP[19630]: Cannot open mail:25
このサーバーは結構古く「qmail」をソースからインストールして利用していました。
ログを見ると「sSMTP[19630]: Cannot open mail:25」となっているので、MTAが「sSMTP」に変更されています。
yum(dnf)コマンドで何かのパッケージをインストールした際に「sSMTP」がインストールされMTAが変更になり、sendmailのパスが変更されていないか確認します
$ ls -l /usr/sbin/sendmail lrwxrwxrwx 1 root root 21 Dec 4 17:04 /usr/sbin/sendmail -> /etc/alternatives/mta
上記のように、yum(dnf)でインストールしたMTAに変更されているので、qmailのパスに変更すると、エラーが解消されmailコマンドを利用できるようになりました
$ sudo ln -sfn /var/qmail/bin/sendmail /usr/sbin/sendmail $ sudo ln -sfn /var/qmail/bin/sendmail /usr/lib/sendmail
「send-mail: Cannot open mail:25」のエラーは、mailコマンド(またはそのバックエンド)がSMTPサーバーへの接続に失敗した時のエラーメッセージのようです。
mailコマンドは通常、システムのデフォルトMTA(Mail Transfer Agent)を使用してメールを送信しますが、MTAの設定が適切でない場合に問題が発生するようです。
私の環境では、MTAがyum(dnf)コマンドで変更され、変更されたMTAの設定を行っていなかったので、「send-mail: Cannot open mail:25」のエラーとなっていたと考えられます
ディスカッション
コメント一覧
まだ、コメントがありません