メインサーバーで障害が発生した場合に備えて、バックアップメールサーバーを用意しています。障害が発生した場合、メールはバックアップサーバーに届き、メインのメールが戻るまでそこに残ります。
しばらく待つと、メインサーバーが復帰するとすぐに配信が自動的に行われますが、長くなる場合があります。それでは、すべてのメールの送信再試行を強制する方法は?
例:postqueue -p:メールのリストを教えてください
次に、postqueue -fを試しました(manページから:キューをフラッシュします:キューにあるすべてのメールを配信しようとします。)。それは確かにキューをフラッシュしましたが、メールは配信されませんでした...
postqueue(1) によると、単にpostqueue -f
メールキューをフラッシュします。キューのフラッシュ後にメールが配信されず、代わりに再キューイングされている場合は、メールログでエラーを確認することをお勧めします。
postsuper(1) をのぞいてみることも役立つでしょう。メッセージが保留中で、最初にリリースする必要があるかもしれません。
postqueue -f
は動作するはずです。そうでない場合は、そのための十分な理由があります。ログを確認してください。また、 pfqueue は、メールスプールの検査に非常に役立つコマンドです。
sendmail -q
キュー内のすべてのメールの配信を直ちに再試行します。
postqueue -s domain.tld
を使用すると、バックアップリレーマシンでサイトのすべてのメールがフラッシュされます。 postfixのデフォルト設定では、relay_domains
のすべてのドメインでサイトごとのフラッシュが有効になっています。 postqueue -f
もこれを実行しますが、外部サイトにメールをプッシュアウトします。つまり、必要以上のことを行います。
メールが配信されなかったとどうやって判断しますか?それらはまだバックアップホスト上にありますか、それともメインホストに送信されてから失われましたか?