この用語をシェア
メールキューとは
メールキューは、配送待ちのメールを一時保管する仕組みです。メールサーバー(MTA)は、送信されたメールを即座に配送できない場合、キューに保存し、定期的に再送信を試みます。これにより、一時的なネットワーク障害やサーバーダウン時でもメールの確実な配送を実現します。
メールキューの役割
主な機能
- 配送リトライ: 失敗時の自動再送信
- 負荷平準化: 大量メール送信時の負荷分散
- Greylisting対応: 一時拒否後の再送信
- 優先度制御: 重要なメールの優先配送
キューの種類(Postfix例)
| キュー | 説明 |
|---|---|
| incoming | 受信直後のメール |
| active | 配送処理中のメール |
| deferred | 配送失敗・再送待ちメール |
| hold | 管理者による保留メール |
| corrupt | 破損したメール |
自社メールサーバー運用への応用
Postfixでのキュー管理
# キュー状況確認
mailq
postqueue -p
# キュー内メール数確認
postqueue -p | tail -1
# 特定メールの削除
postsuper -d キューID
# 全キュー削除(注意!)
postsuper -d ALL
# 配送強制実行
postqueue -f
キュー設定(main.cf)
# 再送間隔
queue_run_delay = 300s # 5分ごと
# 最大キュー保持期間
maximal_queue_lifetime = 5d # 5日間
# バウンスまでの時間
bounce_queue_lifetime = 5d
キュー監視
キューの滞留は、配送問題の兆候です。定期監視が重要:
# キュー数が100件を超えたらアラート
QUEUE_COUNT=$(mailq | grep -c "^[A-F0-9]")
if [ $QUEUE_COUNT -gt 100 ]; then
echo "WARNING: Mail queue has $QUEUE_COUNT messages"
fi
トラブルシューティング
キュー滞留の原因
対処方法
# 詳細ログ確認
postcat -q キューID
# 配送失敗理由確認
mailq | grep -A 5 "MAILER-DAEMON"
# ディスク容量確認
df -h /var/spool/postfix
関連ブログ記事
まとめ
メールキューは、メール配送の信頼性を支える重要な仕組みです。自社メールサーバーでは、キューの定期監視、適切な再送設定、ディスク容量管理により、確実なメール配送を実現できます。キュー滞留時は、ログを確認して根本原因を特定することが重要です。
