ネットで見つけた面白い記事や、役立つのではと感じたネタなどを書いています。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサーリンク

Linux:sendmailのメールキューを削除するには?

以前書いたpostfixのメールキュー削除方法とは別に
sendmailで送信しているメールキューを削除したい状況が発生しました。

で、例のごとく"sendmail キュー 削除 コマンド"のキーワードでググってみるとHITします。

まずは溜まっているキューの状態を確認
# mailq
/var/spool/mqueue (19 requests)
-----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient-----------
m7U62Mfd010217 17 Sat Aug 30 15:02 foo@example.com
(host map: lookup (example.net): deferred)
bar@example.net
.
.
.

Total requests: 19

※内容は例です。

実際のメールはファイルとして存在しており、その保存場所は
/var/spool/mqueue です。

ディレクトリ移動
# cd /var/spool/mqueue

ファイルを確認
# ls -l
-rw------- 1 root root 17 8月 30 15:02 dfm7U62Mfd010217
-rw------- 1 root root 733 8月 30 15:02 qfm7U62Mfd010217

よく見るとmailqの時に表示されていた Q-ID m7U62Mfd010217 と同じidを持つファイルが
それぞれ頭に df と qf が付加されて存在しています。

df が付いている方はメールの本文、
qf が付いている方はメールのヘッダー情報がそれぞれ保存されています。


と言う事で削除対象のメールファイルがどれかを特定できたら削除します。
# rm -f [dq]f(削除したいメールのQ-ID)
上記の例でいくと
# rm -f [dq]fm7U62Mfd010217

これでファイル
dfm7U62Mfd010217 と
qfm7U62Mfd010217 が削除されます。

もう一度mailqコマンドを実行してキューが削除されている事を確認してみて下さい。


と、特定のメールキューを削除する方法は分かったんですが、
メチャクチャ溜まっているメールキューを全部一括で削除したい場合は
どうしたら良いのかも気になって更に調べてみました。

そうすると見つかったのは
# find /var/spool/mqueue/ -type f -exec rm -rf {} \;
または
# rm -f /var/spool/mqueue/*

要は/var/spool/mqueue/ 内のファイルを全部削除しちゃっていいって事ですね^^;
もしかしてと思っていましたが。
ちなみに削除した後sendmailでメールを送信したらちゃんと届きました。


※尚、くれぐれもメールの削除については皆さんの自己責任で行って下さい。

スポンサーリンク

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://sf51.blog42.fc2.com/tb.php/25-b42082d4
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。