我正在实现一个IMAP客户端,但我遇到了IMAP邮箱同步的问题。
首先,从IMAP服务器获取新邮件是可以的,但我不知道如何从邮箱中查找删除的邮件。
是否应该从服务器获取所有消息,并将其与本地数据进行比较以进行同步?
发布于 2012-04-02 02:55:48
通常的方法是对每个文件夹执行以下两个IMAP命令:
. EXAMINE "<foldername>"
. FETCH 1:* (UID FLAGS)第一个命令选择一个文件夹并返回该文件夹的UIDVALIDITY。如果此值与此文件夹以前返回的UIDVALIDITY匹配,则可以依赖UID。第二个命令返回(至少)所选文件夹中每个邮件的UID和所有标志。
\Deleted). )和已删除邮件(\Seen)的信息
许多IMAP客户端都使用这种方法,并且大多数IMAP服务器都针对这些客户端进行了优化。限制因素通常是客户端和服务器之间的可用网络带宽。
以下情况稍微复杂一些:
发布于 2014-08-12 15:35:56
也许对你的应用程序来说太晚了,但你可以在RFC:https://www.rfc-editor.org/rfc/rfc4549中找到一个complete IMAP同步策略!
https://stackoverflow.com/questions/9956324
复制相似问题