没有下载每条消息的实际内容,有没有办法确定两个IMAP服务器上的电子邮件是否相同?

后台是,我试图迁移两台IMAP服务器之间的邮件,我想确保在重新尝试的情况下,重复的消息不会再次迁移。 我想要查询每个IMAP服务器的东西等同于原始电子邮件的md5,所以我可以比较哪些电子邮件已被迁移,哪些没有。

在IMAP4中可能是这样的吗? 我看到UID,但是这似乎只对服务器是唯一的,并不是内容的唯一标识符。

消息ID应该是唯一的,但这并不能保证,而且这个星球上有很多破坏的邮件程序。 如果您必须绝对确定,请自行validation校验和,而在其他情况下,消息ID可以并且应该足够。

还有一个相当不错的下载工作要做,但是尝试获取消息的BODY.PEEK[HEADER]来得到头部分,并比较Message-ID头部。

您可能要检查“消息ID”标题值。 这与整个消息的MD5不完全相同,但是每个唯一的消息应该具有唯一的ID值; 因此假设如果您在目标服务器上看到消息ID,则该消息已被复制。