Linux(CentOS 6) - メールキューの確認方法と削除方法
Postfixでのメール送信に失敗すると、サーバ内には送信に失敗したメールが配送待ちメールとしてメールキューに溜まる。
以下に、メールキュー内のメールを確認する方法、削除する方法についてのメモを記載する。
《メールキューの確認方法》
メールキューに溜まっているメールは、mailqコマンドで確認できる。
[root@test ~]# mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
DE2EB21E07      347 Fri May  3 13:28:46  root@test.centos6
            (connect to mx.h.dion.ne.jp[210.141.108.179]:25: No route to host)
                                         ○○○○○@h8.dion.ne.jp
832F021E16      347 Fri May  3 14:16:09  root@test.centos6
        (connect to mx.h.dion.ne.jp[210.141.108.179]:25: Connection timed out)
                                         ○○○○○@h8.dion.ne.jp
4E3B221E0F      343 Fri May  3 14:28:56  root@test.centos6
           (connect to mail2.pdx.ne.jp[118.103.89.3]:25: Connection timed out)
                                         ○○○○○@pdx.ne.jp
4D71421E1F      345 Fri May  3 15:26:02  ○○○○○@nifty.com
        (connect to mx.h.dion.ne.jp[210.141.108.179]:25: Connection timed out)
                                         ○○○○○@h8.dion.ne.jp
ED9CC21E12      347 Fri May  3 14:12:15  root@test.centos6
        (connect to mx.h.dion.ne.jp[210.141.108.179]:25: Connection timed out)
                                         ○○○○○@h8.dion.ne.jp
A2CFA21DFF      347 Fri May  3 13:10:50  root@test.centos6
        (connect to mx.h.dion.ne.jp[210.141.108.179]:25: Connection timed out)
                                         ○○○○○@h8.dion.ne.jp
5356521E1E      349 Fri May  3 15:25:47  ○○○○○@nifty.com
(connect to alt2.gmail-smtp-in.l.google.com[2607:f8b0:4002:c02::1a]:25: Permission denied)
                                         ○○○○○@gmail.com
F16D321E0E      351 Fri May  3 14:08:39  root@test.centos6
(connect to alt2.gmail-smtp-in.l.google.com[2607:f8b0:4002:c02::1b]:25: Permission denied)
                                         ○○○○○@gmail.com
-- 4 Kbytes in 8 Requests. ←左記のメッセージにより、メールキューに8通分のメールがあり、その合計容量が4KBであることが分かる。
なお、メールキューが存在しない場合は、メールキューが存在しないことを示す「Mail queue is empty」というメッセージが表示される。
[root@test ~]# mailq
Mail queue is empty
mailqコマンドを使うと、以下のことが分かるようだった。
・メールキューのID(Queue ID)
・メール送信に失敗したメール送信元のメールアドレス
・メール送信に失敗したメール送信先のメールアドレス
・メール送信に失敗した時のエラーメッセージ
・メールキューに溜まっているメールの数
・メールキュー内に溜まっているメールの容量(サイズ)
《メールキューの削除方法》
メールキュー内の不要なメールは、postsuperコマンドで削除できる。
[root@test ~]# postsuper -d F16D321E0E   ←メールキューから削除したいメールの「Queue ID」(mailqで確認可能)を指定する。
postsuper: F16D321E0E: removed
postsuper: Deleted: 1 message
[root@test ~]# postsuper -d ALL   ←メールキュー内のメールを全て削除したい場合は、「Queue ID」ではなく、「ALL」を指定する。
postsuper: Deleted: 7 messages