質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Dovecot

Dovecotとは、POPやIMAPサーバーを提供するMDA(メール配送エージェント)の一つです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

Q&A

解決済

1回答

4109閲覧

postfix+dovecotで、特定ユーザのnewディレクトリに入った特定の送信元からのメールを削除させる方法

teketeke

総合スコア46

Dovecot

Dovecotとは、POPやIMAPサーバーを提供するMDA(メール配送エージェント)の一つです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

0グッド

1クリップ

投稿2017/02/06 05:24

CentOS6 postfix+dovecotのメールサーバで、特定ユーザのnewディレクトリに入った特定の送信元からのメールを削除させようとしています。

今のところ、以下のserchでは検索ができているのですが、expungeはエラーになってしましました。

メッセージを翻訳すると、「事故を避けるため、検索クエリはすべての検索ブランチにMAILBOXを含める必要があります」
となっていたので、mailbox を入れてみましたが、削除されませんでした。

おそらく、expungeで指定するsearch_queryが誤っているためだと思うのですが、どのように指定するべきかがわかっておりません。

どなたか、特定ユーザのnewディレクトリに入った、特定の送信元からのメールを削除させる方法を御存じの方がいらっしゃいましたら、お教えいただけないでしょうか。

# doveadm -Dv search -u xxx@~.net new from xxx@~.com c6f263226570c853732100004a24062b 2117273 c6f263226570c853732100004a24062b 2117274 # doveadm -Dv expunge -u xxx@~.net new from xxx@~.com doveadm(root): Fatal: expunge: To avoid accidents, search query must contain MAILBOX in all search branches # doveadm -Dv expunge -u xxx@~.net mailbox new from xxx@~.com ※エラーは無いのですが、searchすると該当メールが引っかかる

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

下記URLを参照ください。
http://wiki2.dovecot.org/Tools/Doveadm/Expunge

どうしても、うまくいかない場合、
rm コマンドで該当ファイル指定して削除すればよいのではないでしょうか?

投稿2017/02/06 05:30

編集2017/02/06 05:40
granfa_yuzo

総合スコア356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teketeke

2017/02/06 05:53

回答いただきありがとうございます。 手動で、rmコマンドで特定ファイル削除はやったことがあるのですが、findやgrepでファイルを特定させている為、ファイル数が多いと時間が掛ってしまうことがありました。 その為、doveadmの方が早く削除できるようならこちらのコマンドでスクリプトを作成し、必要な時に実行したいと考えております。 ※まれに、短時間に大量のメールが送られてくることがあるので(スパムではないメール)、メール送信が落ち着くまで自動で削除させたいと考えています。
granfa_yuzo

2017/02/06 06:03

動作確認をしていませんので、もうしわけありませんが、 imapをご使用であれば doveadm -Dv expunge -u xxx@~.net mailbox inbox from xxx@~.com とすれば削除できないでしょうか?
teketeke

2017/02/06 06:23

回答頂きありがとうございます。 頂いた以下のコマンドで、該当のメールが削除できることを確認できました。 doveadm -Dv expunge -u xxx@~.net mailbox inbox from xxx@~.com とりあえず数件で試しましたが、今のところ問題ないです。 ※mailbox inbox が何を意味しているのかを理解できていないので、調べてみます。
granfa_yuzo

2017/02/06 17:00

mailbox inbox の inboxですが日本語で言えば受信箱(受信トレイ)のことです。 実際のフォルダはnew,cur,tmp と存在すると思いますがこれらを合わせてinboxという認識で良いと思います。 imapのmailboxについては、rfc6154を参照してみてはいかがでしょうか?
teketeke

2017/02/07 09:20

回答頂きありがとうございます。 一旦、inbox=受信箱の認識で、時間をみてrfc6154を確認してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問