web-dev-qa-db-ja.com

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
ZebDp

mailプログラムはsendmailを実行してメールを配信します(クライアントモードでは、プロセスでリスニングポートが開かれていません)。詳細については、 manページ をお読みください。 sendmail変数を設定することにより、MDAを変更できます。

sendmail

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

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

しかし、メールはMDAがsendmailのオプションを認識することを期待しているので、私は実際にはその使用法を理解していません。

もう1つの可能性は、sendmailの代わりに 外部SMTPサーバー を使用することです。

$ 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]

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

0
kubanczyk