Large messages causing mail loops
chris coleman
christocoleman at yahoo.com
Wed Jul 16 15:13:02 BST 2014
To fix this bug, I recommend the offlineimap team implement storing each message's Message-ID in the SQLite database, and use that Message-ID as an additional piece of information to help decide whether a message is already uploaded or downloaded, and possibly not upload or download it.
IETF email standards have matured a lot since offlineimap was first designed and built. Message-ID is now a standard unique identifier string, required to be placed in all email message headers by mail server software MTA's. This fix would help offlineimap to correctly identify unique individual email messages, prevent duplicate downloads via infinte mail loops, avoid filling up storage with many gigabytes of incorrectly repeated identical copies of email messages, and allow smooth running of user's email communications.
On Wednesday, July 16, 2014 9:23 AM, T. Joseph Carter <tjcarter at spiritsubstance.com> wrote:
Hi,
I've run into an issue with OfflineIMAP that has caused some MASSIVE
duplication with dreamhost. This is somewhat difficult for me to
debug as my immediate reaction to finding gigabytes upon gigabytes of
duplicated mail is to immediately shut things down and start purging.
(There's also the little problem that this command did not terminate
and was counting down to its next refresh…
tjcarter at amaya:~$ offlineimap -d imap -1 -o -a tjcarter
… because the account in question has
idlefolders = [ 'INBOX' ]
specified. But that's a fairly minor niggle since idle is still
indicated to be somewhat experimental.)
Anyway, how it tends to happen:
I will send a fairly large file via email (significantly > 5 MiB)
from a client that doesn't easily tell you how big the thing you're
sending happens to be. Like a phone, for example.
The email may or may not deliver, depending on what the destination
server does with zomg-huge emails. It may deliver, it may bounce, or
it may be silently deleted. I've seen 35 MiB files send just fine to
some, and emails (after encoding) as small as 1000000 total bytes
silently discarded. Regardless, the client stores its copy in
INBOX/Sent on the server, as expected.
Then offlineimap downloads this massive email. Then it becomes
convinced that this email is new and uploads the email. Then it
downloads the "new" email. Then it determines the email is new and
uploads it…
If the remote bounces the message back as too large with the full
message attached, this too starts the mail duplication cycle. And
whatever you do, DO NOT delete all these duplicate emails into your
trash folder! That will start the duplicate email cycle on EACH of
the already massively duplicated emails—so yes, it can be triggered
without another MUA putting massively large messages into folders.
Oh and when cleaning up this way, there may still be one or more
copies on the server that will be downloaded and continue the massive
mail duplication you just tried to stop. Without direct access to
the message directory on the server, your best bet for cleanup is to
ctrl-c offlineimap, then kill -9 it because it doesn't terminate
(*sigh*), then nuke the messages by hand in your local folders, then
log into squirrelmail and do the same on the remote folders, and then
hopefully probably it won't do that again.
You can work around the problem by telling offlineimap to skip large
messages, but this really isn't desired. It's what I'm doing at the
moment, but … I am not sure how big the message has to be before
things start getting out of hand.
I'm unable to realistically test this further because having it
happen while I was away for a week brought me too near CenturyLink's
usage cap. And when you cross the threshold, they start throwing
packets on the floor randomly. Incidentally, I will be canceling
their service next week, and I intend to tell them exactly why. If
they give me any crap, the cancel-my-service call will be published.
Other clients (mutt, Mail.app, Thunderbird, etc.) do not exhibit this
behavior.
Joseph
_______________________________________________
OfflineIMAP-project mailing list
OfflineIMAP-project at lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/offlineimap-project
OfflineIMAP homepage: http://software.complete.org/offlineimap
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/offlineimap-project/attachments/20140716/c893cfe0/attachment-0003.html>
More information about the OfflineIMAP-project
mailing list