我有一个IMAP帐户,(例如[email protected]),我知道与我可以连接和复制的讯息传回我的目的地很多图书馆。我想达到以下,同步(复制)IMAP邮件
- 第一次,我想下载所有邮件(包括发送文件夹),并且当我下载的第一次,我会在一些数据库在本地保存消息ID和UID。
- 第二次,我不想查询下载的邮件,即使他们的读/未读状态或任何标记或删除标识被改变或者被清除。
- 我们的目标是下载和每一个消息在本地同步,一次且仅一次。
现在我对IMAP消息知之甚少,他们有一些名为ID,UID和MessageID的东西。 ID可能是当前文件夹中的偏移量,UID是当前帐户中的数字ID,而MessageID是唯一字符串。
现在我想知道,在查询文件夹,这样的消息被下载一次,不会被返回给我,我应该用什么搜索。
我打算使用http://mailsystem.codeplex.com/库,并给出了自定义字符串搜索能力,并返回int数组。
假设我有,一个MaxID,我想只下载具有ID或UID比MaxID更大的消息。我应该使用哪一个? UID或ID?
假设两个文件夹,收件箱和垃圾邮件,与1000和100最大UID在他们的文件夹。现在,如果在两个同步时间之间,如果在垃圾邮件中收到带有UID 101的邮件,并且用户将其移入收件箱,则UID会发生什么变化?这个消息是否会获得1001的新UID? –
IMAP不支持移动操作,而不是电子邮件都将被复制到目标文件夹以及从源文件夹中删除。 UID是一个文件夹中是唯一的,并且当电子邮件被附加或复制到文件夹,电子邮件获得一个UID比这个文件夹中使用的所有以前的UID更大。 – nosid
另外我发现有关搜索既然,最好每天同步?我想尽量减少服务器行程,为什么我需要关心UIDVALIDITY? –