sendmail が "MAIL/EXPN/VRFY/ETRN not sent" メッセージを記録するのを防ぐ方法は?

sendmail が

F5ロードバランサーの後ろにsendmailサーバーがあります。ロードバランサーは、各メールサーバーへの接続を継続的に開閉し、応答していることを確認します。これは、システムログファイルが次の行で埋められていることを意味します。

Sep 19 11:13:29 mailserver-X sm-mta[12643]: w8JGDTmi012643: lb5a [10.11.12.13] が MTA に接続中に MAIL/EXPN/VRFY/ETRN を発行しませんでした。

Sep 19 11:13:29 mailserver-X sm-mta[12819]: w8JGDSLk0012819: lb5b [10.11.12.14] が MTA に接続中に MAIL/EXPN/VRFY/ETRN を発行しませんでした。

sendmailにそれを自動的に無視させる方法はありますか?

現在sendmail-8.14.5を実行していますが、この問題を修正する必要がある場合は更新が行われます。

ベストアンサー1

ロードバランサは正しい動作可能性を確認するのに十分ですが、プロトコルの詳細を無視したり、役に立つ作業を行わないことが多いスクリプトプロトコルテストはほとんどありません。これは、sendmailが文句を言うことです。 SMTP デフォルトただ送ってください HELO次にQUIT(それぞれの応答コードを確認してください)。

これはLogLevel> 5メッセージで、デフォルトはLogLevel 9なので、次に.cf追加して再生成できます.mc

define(`confLOG_level',`5')

-O LogLevel=5または、sendmailコマンドラインに追加して一時的に上書きします。欠点は、レベル6-9の他の多くの(〜140)メッセージも表示されないことです。

この特定のメッセージが抑制される文書化されたシナリオは1つだけです。つまり、構成(アクセスマップまたはTCPラッパー)を介して接続が拒否された場合です。しかし、私が考えることができるすべてのシナリオには拒否エラー履歴が含まれていますHELO

標準には設定可能な項目はありませんが、SMTP_monitor回避策として設定できます。代替SMTP監視スクリプト、F5のdevcentralのこの例(ソースコードを表示するには登録が必要です)は、使用方法を示しています。予想される:

https://devcentral.f5.com/codeshare/smtp-scripted-monitor

例では、各プローブに電子メールを送信しますが、ほとんど確かに望ましくないでしょう;-)の代わりに、次のようにしてみてください。

expect "220"                 ;# must wait for SMTP banner 
send "HELO mydomain.com\r\n" ;# EHLO is better
expect "250"
send "VRFY postmaster\r\n"   ;# some non-NOP command
expect "250"
send "QUIT\r\n"              ;# clean exit
expect "221"

そして必要に応じて調整してください。 sendmailがトリッキーな場合(//PrivacyOptionsブロックする可能性がある場合)、VRFY予想されるコードを修正するか、thenを使用してください。EXPNETRNMAILRSET

 ....
 send "MAIL from:<[email protected]>\r\n"  
 expect "250"
 send "RSET\r\n"
 expect "250"
 send "QUIT\r\n"
 expect "221"

おすすめ記事