diff options
author | Nikolaus Schulz <microschulz@web.de> | 2010-07-30 19:13:14 +0200 |
---|---|---|
committer | Nikolaus Schulz <microschulz@web.de> | 2010-07-30 19:15:21 +0200 |
commit | f22fe4decd9a70a2eb826ecdd14f9d1bb3b4e394 (patch) | |
tree | f2d3353d1764877ea9eb936c6e99977d09560f70 /archivemail | |
parent | d99b4b4414e90240524ceca6bb3ccd1ffa7fbbec (diff) | |
download | archivemail-f22fe4decd9a70a2eb826ecdd14f9d1bb3b4e394.tar.gz archivemail-f22fe4decd9a70a2eb826ecdd14f9d1bb3b4e394.tar.bz2 archivemail-f22fe4decd9a70a2eb826ecdd14f9d1bb3b4e394.zip |
Detect and never archive IMAP server pseudo mbox messages
IMAP servers (Dovecot and UW-IMAP at least) may store mailbox meta data for
mboxes in a pseudo message. Such messages are now detected and never archived.
This commit includes a test case in the test suite.
Diffstat (limited to 'archivemail')
-rwxr-xr-x | archivemail | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/archivemail b/archivemail index ec05171..52ec06b 100755 --- a/archivemail +++ b/archivemail @@ -1156,6 +1156,12 @@ def _archive_mbox(mailbox_name, final_archive_name): msg = original.next() if not msg and (original.starting_size > 0): user_error("'%s' is not a valid mbox-format mailbox" % mailbox_name) + if msg and 'X-IMAP' in msg: + # Dovecot and UW-IMAP pseudo message for mailbox meta data + vprint("detected IMAP pseudo message") + if retain: + retain.write(msg) + msg = original.next() while (msg): msg_size = sizeof_message(msg) stats.another_message(msg_size) |