sendmail サービスを停止し、postfix を開始しました。電子メール ログに sendmail がまだ表示されますか?

sendmail サービスを停止し、postfix を開始しました。電子メール ログに sendmail がまだ表示されますか?

このサーバーには sendmail と postfix の両方がインストールされています。 sendmail は実行されていますが、正常に動作していません。 sendmail サービスを停止し、 postfix を起動しました。 ポート 25 でリッスンしているものの出力をチェックして、 postfix のみが実行中であることを確認しました。

lsof -i :25
COMMAND    PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME

master  119640 root   12u  IPv4 28103863      0t0  TCP localhost:smtp (LISTEN)

master  119640 root   13u  IPv6 28103864      0t0  TCP localhost:smtp (LISTEN)

次にメールの送信をテストします。

echo "My message" | mail -s testing [email protected]

ルートの受信箱には届きません。そこで、/var/log/maillog のログを見て、sendmail がまだ使用されていることを確認します。

Feb 26 16:18:13 server sendmail[1582]: w1QLIC8N001582: [email protected], ctladdr=root (0/0), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=30233, relay=exchangeserver.domain. [x.x.x.x], dsn=2.0.0, stat=Sent (<201802262118.w1QLIC8N001582@[email protected]> Queued mail for delivery)

どうしてこんなことが可能なのでしょうか?

答え1

プログラムはメールを配信するためにmail実行されますsendmail(クライアントモードでは、プロセス中にリスニングポートは開かれません)。マニュアルページ詳細情報を参照してください。変数を設定することでMDAを変更できますsendmail

送信メール

代替メール配信システムを使用するには、このオプションを使用するプログラムのフルパス名に設定します。これは注意して使用する必要があります。

$ sendmail=/usr/bin/someothersendmail mail [email protected]
Subject: asdf
... and so on

しかし、mail は MDA が sendmail のオプションを認識することを期待しているので、その用途は実際にはわかりません。

もう一つの可能​​性としては、外部SMTPサーバーの代わりにsendmail

$ echo "This is the message body and contains the message" | mailx -v \
> -r "[email protected]" \
> -s "This is the subject" \
> -S smtp="mail.example.com:587" \
> -S smtp-use-starttls \
> -S smtp-auth=login \
> -S smtp-auth-user="[email protected]" \
> -S smtp-auth-password="abc123" \
> -S ssl-verify=ignore \
> [email protected]

答え2

このログ ラインは、TCP ポート 25 でリッスンしているものからのものではありません。ルートがcrontabsendmail 経由で直接メールを送信しているようです。または、非標準のルート所有のバックグラウンド プロセスです。

関連情報