ubuntu 14.04メールサーバー:Postfix
rootはcrontabから数十通の電子メールを受信します。これらのメールにはPHP警告が含まれています。
>/dev/null 2>&1
に送信される出力)以前のメールをすべて削除しました
/ var/mail/root
/ var/pool/mail/root
しかし、私はまだ1時間に数十通の電子メールを受信しています。これらのメールはcronjobsから送信されたもので、1か月近く経過していることもあります。
わかりません。これらのメールはどこから送信され、どこに保存されますか?
これらは、メールキューにある未配信の古いメールです。それらを取り除きたい場合は、それらを見つけて削除する必要があります。
mailq
を使用して確認し、postsuper -d ALL
を使用してそれらをすべて一度に削除できます。
注意すべきいくつかのポイント:
比較的古い電子メールの受信を開始するときはいつでも、それらの電子メールがどこか(ローカルサーバーまたはリモートの実際のいずれか)でキューに入れられ、現在配信されていることを確認できます。
Postfixのキュー全体を表示するには、mailq
またはpostqueue -p
を使用でき、出力は同じです。コマンド出力がすべてのメールを一度にダンプしようとするため、キューに数千のメールがある場合、これは効果がないことがわかります。その場合、mailq | more
のようなコマンドを使用できます。
postfix flush
またはpostfix -f
を使用して、キューをフラッシュしようとするか、つまり、すぐに送信しようとします。postsuper -d ALL deferred
を使用できます。qshape
は、mailqを調べるときにも非常に便利なコマンドです。 Postfixボトルネック分析 を確認してください。これは、キューに入れられ、現在配信されているメッセージのように聞こえます。それらのメッセージがあなた自身のサーバーから発信された場合、それらは/var/spool/postfix
送信メールキューとコマンドSudo showq
またはSudo postqueue -p
は、キューに残っている未配信のメッセージを一覧表示する必要があります。
/ var/spool/mail/rootはデフォルトのメールボックスの場所であり、すでに最終宛先に配信されているメールが含まれています。そこからメッセージを削除しても、新しいメッセージの到着を妨げることはありません:)
このQ&A キューをクリーンアップするのに役立つ可能性があります