[Dovecot] mbox2mdir... what about UIDs/etc? (was: how to best import Evolution/Thunderbird mail into dovecot?)

Timo Sirainen tss at iki.fi
Wed Nov 7 17:21:59 EET 2012


On 30.10.2012, at 2.42, Christoph Anton Mitterer wrote:

> Which I'll base upon mb2md[1] respectively it's Dovecot-izsed
> version[2].
> I diffed the two, and it seems the only differences are that the later
> handles the following in addition:
> 1) keywords (via X-IMAP, X-IMAPbase and X-Keywords)
> 2) UIDs, UIDVALITIDYs and UIDLASTs (via the X-IMAP, X-IMAPbase and X-UID
> mail headers of the mboxes
> 3) ,S= and ,W= tags
> 
> (Guess that's it right?)
> 
> 
> Now I have some questions:
> to 1) I never used keywords on mails myself so far,... so if any
> X-Keywords headers exist, these were sent from remote.
> So I guess I _really want_ to ignore them (and not let remote people set
> my local keywords), right?

Yes.

> to 2) I haven't had time yet to read into the IMAP4 RFC (though I'll
> need to do so soon),... but AFAIU the UIDs, UIDVALITIDYs and UIDLASTs
> are used for the server/clients to identify which message they talk
> about and avoid unnecessary reloading and to assure statuses are set on
> the right message, etc.
> 
> All mails that I migrate were only used locally by one client.
> So I guess I can fully ignore any UID/UIDVALITIDY/UIDLAST preservation,
> right?

Yeah, they're not that important if you don't care about clients redownloading cached messages.

> So in principle I can use plain mb2md (without the dovecot mods)... and
> simply convert all my mboxes to maildir, put them in the dovecot mail
> (having the mails in the ../new dirs) location and start dovecot, right?
> 
> Now will dovecot itself assign fresh consecutive UIDs to all maildir
> files? Or will I get into troubles?

Dovecot will generate new UIDs.

> to 3) If dovecot can make use of these,.. I'm happy with having them
> set, but analogous to (2):
> If I use plain mb2md (without the dovecot mods)... and simply convert
> all my mboxes to maildir, put them in the dovecot mail (having the mails
> in the ../new dirs) location and start dovecot....
> 
> Can I make dovecot to calculate these fields by itself when it loads?

Dovecot doesn't add them to the filenames, but adds them to dovecot-uidlist and/or dovecot.index.cache. If you're using Maildir++ quota then this isn't good enough, but when using Dovecot LDA there's no reason to use Maildir++ quota anyway, so it doesn't matter.




More information about the dovecot mailing list