電子メールを特定のアドレスに送信できない場合、postfixはmailコマンドを使用して報告しますか?

電子メールを特定のアドレスに送信できない場合、postfixはmailコマンドを使用して報告しますか?

postfix私はこのコマンドを使用して外部電子メールを送信するプログラムを作成しており、電子メールが指定されたアドレスに送信されたことを確認mail -sする必要があります。

postfixこの場合、エラーがすぐに報告されるのか、電子メールが送信されないのか、postfix有効な電子メールだけがあるのか​​疑問に思います。[Eメール保護])を入力した後、ログファイルに報告されたり、電子メールが送信されない原因になりますか?

また、ネットワーク接続が失われてpostfixも有効なメールアドレスを使用すると成功が返されますか、失敗がすぐに報告されますか?

ベストアンサー1

postfix 設定がログに設定されている場合は、ログを確認してメッ​​セージの状態を確認できます。

これには次の情報が含まれます。

Mar 25 16:07:40 serverName postfix/smtp[3113]: B169ZZZ24F: host foo.net.mx1.name.foo.net[1.2.3.4] refused to talk to me: 421 Offline: HELO/FDNS

Mar 25 16:07:40 serverName postfix/smtp[3036]: 7ZZZFC2440: to=<[email protected]>, relay=mtaz.amz.yahoodns.net[66.196.118.35]:25, delay=11, delays=0.35/0/0.6/9.9, dsn=2.0.0, status=sent (250 ok dirdel)

Mar 25 16:07:36 serverName postfix/smtp[3073]: ZZZZ3C623E: to=<[email protected]>, relay=none, delay=0.55, delays=0.35/0/0.2/0, dsn=5.4.4, status=bounced (Host or domain name not found. Name service error for name=customer.com type=A: Host not found)

この情報は、次の行を含むスクリプトから取得できます。 (私の仕事ではありません。誰のおかげで、この情報は毎日使用されます。)

grep 'status=sent' /var/log/mail.log | awk '{print $7}' | sed 's/to=<//g' | sed 's/>,//g'

grep 'status=deferred' /var/log/mail.log | awk '{print $7}' | sed 's/to=<//g' | sed 's/>,//g'

grep 'status=bounced' /var/log/mail.log | awk '{print $7}' | sed 's/to=<//g' | sed 's/>,//g'

おすすめ記事