[Dovecot] delete message with specified id

Костырев Александр Алексеевич a.kostyrev at serverc.ru
Fri Dec 6 03:32:19 EET 2013


Good day, everyone!

Could someone help me to find a way to delete message with certain id from all users's mailboxes?

What seems to be a problem:

I have configured exim + dovecot lmtp

I got a long list of aliases in BD in form of:
+----------+-------------------------------------+
|alias_name	recipients                           | (for example)
-----------|-------------------------------------+
| list_a   | user1 at example.org,user2 at example.org |
+----------|-------------------------------------+

When I send a message to that list_a, user1 and user2 get the mail and I see this in log:
Dec  6 12:12:27 beta-mail dovecot: lmtp(16419, user1 at example.org): copy from INBOX: box=INBOX, uid=1, msgid=<E1VojxY-0004Gl-Gu at beta-mail>, size=570
Dec  6 12:12:27 beta-mail dovecot: lmtp(16419, user1 at example.org): oCOXKmAkoVIjQAAA635u4w: msgid=<E1VojxY-0004Gl-Gu at beta-mail>: from=root at beta-mail: subj=: saved mail to INBOX
Dec  6 12:12:27 beta-mail dovecot: lmtp(16419, user2 at example.org): copy from INBOX: box=INBOX, uid=1, msgid=<E1VojxY-0004Gl-Gu at beta-mail>, size=570
Dec  6 12:12:27 beta-mail dovecot: lmtp(16419, user2 at example.org): oCOXKmAkoVIjQAAA635u4w: msgid=<E1VojxY-0004Gl-Gu at beta-mail>: from=root at beta-mail: subj=: saved mail to INBOX

Is it possible to delete these letters with known msgid=<E1VojxY-0004Gl-Gu at beta-mail> from all users mailboxes with couple of simple commands ?

How do I do it currently:

in exim's log I get mailaddress of a user,
get into his mailbox (wich cd),
find the letter I need,
with ls -i I get inode,
search (with find) through all users mails and delete all files with that inode,
then I have to rebuild dovecot indexes with doveadm mailbox status -A -t all INBOX


--
С уважением,
Костырев Александр
администратор Linux-систем



More information about the dovecot mailing list