複数のホストを持つ小さなドメインがあります。 Sendmailは、ローカルで生成されたすべてのメール(ほとんどの場合、cronジョブによって生成された[email protected]
へのメール)を中央の「メールハブ」に転送するように設定されています。
define(`MAIL_HUB', `somehost.mydomain.org')
sendmail.mc
で。最近、リモートエンドのメールサーバーに問題が発生したため、このホストからのメールを受け付けません。これにより、sendmailはすべてのメールをドロップしました。 /var/log/maillog
から:
sendmail[3133]: n4461S5s003133: n4461S5t003133: return to sender: Service unavailable
sendmail[3133]: n4461S5t003133: to=root, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=34772, relay=XXXXX.org. [91.184.38.153], dsn=5.0.0, stat=Service unavailable
sendmail[3133]: n4461S5s003133: Losing ./qfn4461S5s003133: savemail panic
この間に生成されたすべてのメールは破棄され、永久に失われました。
どうすればこれを防ぐことができますか?理想的には、sendmailでレイターを再試行するか、最後の手段としてメールをローカルファイルに保存することをお勧めします。
あなたのサーバーはここでほとんど「正しい」ことをしました。
遠端は「5xx」クラスのエラーメッセージを返しました。これは、メッセージの配信が永続的に失敗したことを示しているため、送信が完全に中止されました。
サーバーがメッセージをキューに入れ続けるには、一時的な障害を示す「4xx」クラスのメッセージを受信している必要があります。
ただし、メッセージが永久に失われるのを防ぐには、「savemailpanic」エラーの原因を特定する必要があります。メッセージは送信者に返送されているはずです。
通常、sendmail
は、失敗した送信試行をローカルでスプールファイルに保存し、最大5日間再試行する必要があるため、構成エラーが発生している可能性があります。これらの参考文献によると:
あなたはあなたが持っていないことを確認する必要があります(上記の参照から):
/etc/aliases
にポストマスターエイリアスがありませんmbox
ファイルが2GBを超えており、procmail
が電子メールを配信できませんさらに、selinux
の問題が発生していないことを確認してください。 selinux
がsendmail
によるファイルの保存を妨げている可能性があります。電子メールが完全に失われることはありません。最悪の場合、元の送信者とポストマスターに返送される必要があります。 Eメールが完全に失われた場合は、構成エラーまたはsendmailのバグのいずれかです。
このエラーの意味するところは、コンテキストでは、sendmail
がスプールファイル./qfn4461S5s003133
でメッセージを配信しようとしたが、リモートメールサーバーが「サービスを利用できません」というエラー応答を返したことです。したがって、ローカルのsendmail
はEメールをバウンスしようとしました。これを行おうとしたときに問題が発生したため、Eメールは破棄されました。
これは、CPUの2階建てバス障害に相当する電子メールです。つまり、致命的なエラー(sendmailが再試行を断念するのに十分な時間リモートサーバーが使用できない)に応答して発生する致命的なエラー(Eメールメッセージを保存またはバウンスできない)。