読者です 読者をやめる 読者になる 読者になる

Postfix の queue_run_delay について

Postfix

メールの送信に失敗したメールは、/var/spool/postfix/deferred 配下にストックされます。

 

ストックされたメールは、初回は /etc/postfix/main.cf で指定した queue_run_delay のタイミングでスキャンされ、minimal_backoff_time を超えたタイミングで再送されます。

ここでポイントなのは、queue_run_delay は送信に失敗したタイミングで実行されるのではなく、サービス起動時から実行されている、ということです。

 

 

これは、/var/log/maillog を見れば一目瞭然なのですが、デフォルト設定だと確認できません。

確認した環境は以下の通り

# less /etc/centos-release

CentOS release 6.5 (final)

 

# yum list postfix

postfix.x86_64      2:2.6.6-2.2.el6_1

master.cf でログレベルを上げます。

# less /etc/postfix/master.cf

qmgr fifo n - n 300 1 qmgr -v

これでサービスを再起動

# service postfix restart 

 maillog 確認すると、queue_run_delay が実行されていることが分かります。

# tail -f /var/log/maillog 

postfix/qmgr[xxxxx]: qmgr_scan_start : start deferred queue scan

postfix/qmgr[xxxxx]: done deferred queue scan

 

(おまけ)

メールキューを確認するコマンドは

# postqueue -p

再送待ちのメールキューを全て削除したい場合は

# postsuper -d ALL

です。