キュー内にメールが滞留しています。キュー内のすべてのメッセージを Qmail によって強制的に処理するにはどうすればよいですか。

Refers to:

  • Plesk for Linux

Created:

2016-11-16 12:57:16 UTC

Modified:

2017-02-15 10:00:30 UTC

1

Was this article helpful?


Have more questions?

リクエストを送信

キュー内にメールが滞留しています。キュー内のすべてのメッセージを Qmail によって強制的に処理するにはどうすればよいですか。

症状

メールの送受信は問題なくできるのですが、一部のメッセージがキューに残っています。

# /var/qmail/bin/qmail-qstat
messages in queue: 37
messages in queue but not yet preprocessed: 0

どう対処すればよいでしょうか。これらのメッセージはいつまでキューに滞留するのでしょうか。

原因

メールを特定のアドレスに配信できないという状況はしばしば発生します。Qmail が一時的な理由(接続の問題など)によって宛先サーバにメッセージを送信できない場合、Qmail はそのメッセージをキューに保持し、 /var/qmail/control/queuelifetime に定義された期間(デフォルトでは 1 週間)、再送信を試みます。

解決策

Qmail キューにバックアップされたメールについては、操作できることが限られています。最終的に、これらのメールは宛先に送信されるか、7 日経過後に致命的なエラーとしてバウンスされます。

メール送信の試行について規定する Qmail のアルゴリズムはハードコーディングされており、変更できません。詳細と実際の値は、 http://www.lifewithqmail.org/lwq.html#retry-schedule をご覧ください。

失敗したメール配信試行の原因は、 $PRODUCT_ROOT_D/var/log/maillog で確認できます。

キューにスタックされたメールを Qmail に強制的に処理させるためには、 "qmail-send" プロセスに "ALRM" シグナルを送信してください。Qmail が即時にキュー内の全メッセージの送信を試みます。

kill -ALRM `ps ax | grep [q]mail-send | awk '{print $1}'`

キュー内に滞留しているメッセージを確認する方法や、キューにスパムメッセージが大量に含まれる場合に何をすべきかを確認するには、KB 記事 #213379869 を参照してください。

他にご質問がございましたら、リクエストを送信してください
ログインしてコメントを残してください。