[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sup-devel] Query for largest msg_id?



Reformatted excerpts from Horacio Sanson's message of 2011-05-10:
> Is there a way to query Heliotrope what is the largest msg_id
> currently in the index?

Sort of---it's a hack, but if you search for e.g. "a OR -a" you'll get
every message in the index, and the first result will be the message
with the highest id thanks to Whistlepig's search semantics.

> I am trying to improve the imap-dumper.rb so
> it does not download all my emails every time but only the new ones.

Sounds great. Unfortunately the Heliotrope message id and the IMAP
message id / message uid are completely different things, and
maintaining a cross-session mapping of them is impossible for generic
IMAP servers, because the uid of every message can change every time you
connect to an IMAP server---see the section on IMAP's 'uidvalidity'
variable. So you'll have to rescan the inbox every time and rebuild the
mapping. Welcome to hell.

> Also while looking at the code I see that messages are stored in the
> index using the msg_id as parsed by RMail. There is no further
> association with the source or mailbox from where the messages were
> downloaded. This I think may cause collisions if we use one Heliotrope
> server with more than one email account. Not sure what is the
> probability of two messages from two different IMAP servers having the
> same msg_id but nothing in the standard rules out that possibility.

This is yet another id: the Message-Id header of the email. This is only
needed to build up the thread structure and should otherwise be ignored.
-- 
William <wmorgan-sup@masanjin.net>
_______________________________________________
Sup-devel mailing list
Sup-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-devel