VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで

qmail キューの設定とキューの管理

qmailの設定、管理方法についてまとめました。

※目次をクリックすると目次の下部にコンテンツが表示されます。

キューのライフタイムの設定
一時的に配信できなかったメッセージをキューに保持する最大の時間(キューのライフタイム)の設定方法を確認します。
 
1)設定方法
 
/var/qmail/control/ディレクトリ内に”queuelifetime”ファイルを作成し、時間を秒単位で記述します。
 
・デフォルト値は、1週間です。
・この時間を過ぎると、最後の配送処理を試みて配信できなかった場合は、”一時的”ではなく、”永久に”配信できなかったメッセージとしてバウンスメールとして送り返されるようです。
 
2)設定例と動作確認
 
(設定例)
# vi /var/qmail/control/queuelifetime
 
432000

上記は、5日間として設定した場合です。
 
(動作確認)
正しく設定されたか”qmail-showctl”で確認します。

# /var/qmail/bin/qmail-showctl | grep queuelifetime
 
queuelifetime: Message lifetime in the queue is 432000 seconds.

正しく設定されているようです。

キューのステータス確認
1)qmailでのキューの位置づけ
 
・qmailが配送するメッセージは、すべてキューを経由する。
 
・メッセージ紛失しないことをキューが担っている。
 
・一時的な配送不可時には、一時的にキューに保持し再送する。
 
・キュー(/var/qmail/queue)は、セキュリティとプライバシーの観点からrootとqmailユーザーのみがアクセスできる。
 
2)キューのステータス確認方法
 
“qmail-qstat”コマンドを使用します。
 
(実行例)
# ./qmail-qstat
 
messages in queue: 0
messages in queue but not yet preprocessed: 0

 
・メールの処理量が多い場合は、下記のように1行目が0以上になっている場合があります。

messages in queue: 15
messages in queue but not yet preprocessed: 0

2行目が0なので、qmail-sendによる前処理は終了していて、すべての受信者に対する配送が終わっていない段階。
 
・qmail-sendが停止していたり、うまく動作していない場合は、下記のように2行目も0以上になる。

messages in queue: 15
messages in queue but not yet preprocessed: 15
キュー内のメッセージを確認
1)確認方法
 
・qmail-qreadは、キュー内のすべてのメッセージを確認し、日時、、送信元アドレス、キューID、受信アドレス、ステータスなどの情報を表示する。
 
・qmail-qreadは、rootユーザーかqmailユーザーで実行する必要がある。
 
2)実行例
 
# ./qmail-qread
 
9 Apr 2013 23:26:11 GMT  #928626  232  
        local   rails-ss@example.com
9 Apr 2013 23:26:11 GMT  #928623  232  
        local   rails-ss@example.com
モバイルバージョンを終了