[MlMt] Uh-oh. Imap just bit me...

Seebs mailmate-list at seebs.net
Sun Nov 3 04:37:19 EST 2013


On 3 Nov 2013, at 2:21, Benny Kjær Nielsen wrote:

>> And the next time I connected to the new server... Mailmate deleted 
>> all the messages which had previously been considered to be 
>> associated with that account, because they were no longer present on 
>> the server.
>>
>> Er. That is exactly the opposite of what I wanted. Totally. In every 
>> way.

> I understand that, but as you write yourself then this is how IMAP is 
> supposed to work.

Is it, though?

I was under the impression there were supposed to be some sanity checks 
to avoid catastrophic data loss. Stuff like "hang on, while this account 
has the same name as one I used to use, it looks totally different."

>> Is there a way to configure Mailmate to obtain mail from a server, 
>> but not to ever delete mail based on changes in the server?

> No, and it would be tricky to make something that would make sense to 
> the user unless only 1 client would ever be connected to the server. 
> For example, moving a message from one mailbox to another is 
> implemented as copy+delete. If another email client is used to move a 
> message then MailMate is going to see it as a deleted message in one 
> mailbox and a new message in another mailbox.

I indeed only ever use one mail client. I suppose to some extent I'm 
really more in the market for which POP3 is a good solution, but 
MailMate works extremely well for me *except* for this.

> Messages to be deleted are put in a queue. If you have quit MailMate 
> then you may be able to locate the deleted messages on disk:
>
> 	~/Library/Application Support/MailMate/Messages/...

Yup.

And conveniently, my most recent backup of the mail from the blown up 
server is a few hours after it went offline, so all the mail from there 
is present.

And I found the "Import Messages" feature, so MailMate is now copying 
about 100k messages up to the IMAP server.

>> I think I've run into this before, with the notion that IMAP's goal 
>> is synchronization. But I don't want synchronization; I want to 
>> download mail and then keep it forever. I absolutely, positively, 
>> under NO CIRCUMSTANCES WHATSOEVER, want Mailmate to conclude that 
>> because a file is missing on a server, obviously I don't want it 
>> anymore!

> The original purpose of IMAP was to not store anything (or very 
> little) locally essentially requiring the email client to always be 
> online. MailMate is fully offline keeping a copy of all messages and 
> this does make a disappearing mailbox (or changed identity) a more 
> serious situation than it would be with an online client.

Well, arguably it's more serious with a fully-online client, because if 
there were no local cache, I'd just have totally-and-permanently lost 
all the recentish messages. So in a way, this is better, just... the 
sudden deletion without any indicator was very surprising.

Thinking about it, for my purposes, as long as I can recover the data, I 
don't care that much how it's stored. A local archive feature that 
produced something which could be reliably re-imported would be plenty 
adequate for me, most of the time. A feature which, say, moved deleted 
messages into a separate location and left them there forever would 
solve my problems just fine, as I could then recover them if I suddenly 
found a need to.

Alternative suggestion: Your general advice to people about this is to 
run a local IMAP server. Dovecot's free software. Maybe MailMate should 
have a "use local dovecot server to stash messages" option. :")

> (I'll need to have some breakfast before answering your other message, 
> but I'll get to it.)

No immediate hurry, as it turns out, I have backups and found "Import 
Messages" which does about what I want. Next up will be migrating 
everything from the temporary mail server I was using to the 
now-restored one.

-s


More information about the mailmate mailing list