送信元を詐称したスパムメールのバウンスでメールキューが一杯になってしまうことがよくある。
必要のないキューを削除しないと、メールサーバの負荷が高くなり、メール配送の遅延が発生することにもなる。
対応方法を以下に示す。
負荷が高すぎて作業に支障が出る場合は、postfix を停止する。
# service postfix stop
原因を特定する。
メールログの確認。
# less /var/log/maillog
キューの内容を確認。
Postfix を停止している場合は、mailq コマンドの実行に root 権限が必要。
# mailq >/tmp/mailq.txt
# less /tmp/mailq.txt
メッセージの内容を確認する場合。
# postcat -q QUEUE_ID
大量のキューを hold キューに退避する。
# postsuper -h ALL
Postfix を起動する。
# service postfix start
削除が必要なキューを調べ、各行に QUEUE_ID を書いたテキストを作成する。
例えば、Sender が MAILER-DAEMON でかつ Arrival Time が Wed (水曜日) のメールを抽出する。
$ perl -ne \
'print "$1\n" if (/^(\w+).+ Wed .+ MAILER-DAEMON/);' \
/tmp/mailq.txt >/tmp/delete_qid.txt
キューを削除する。
# cat /tmp/delete_qid.txt | postsuper -d -
必要なキューは、hold キューから戻す。
# postsuper -H QUEUE_ID
参考
0 件のコメント:
コメントを投稿