背景是,我正在尝试在两个 IMAP 服务器之间迁移邮件,并且我想确保在重试的情况下不会再次迁移重复的邮件。我想要查询每个 IMAP 服务器以获取与原始电子邮件的 md5 等效的内容,这样我就可以比较哪些电子邮件已迁移,哪些尚未迁移。
在 IMAP4 中可以实现类似的功能吗?我看到了 UID,但它似乎只是服务器独有的,并不是内容真正的唯一标识符。
答案1
消息 ID 应该是唯一的,但这根本无法保证,而且世界上有很多损坏的邮件程序。如果您必须绝对确定,请自己验证校验和,在其他情况下,消息 ID 可能并且应该足够了。
答案2
仍需要进行大量下载,但请尝试获取BODY.PEEK[HEADER]
消息以仅获取标题部分,然后比较标题Message-ID
。
答案3
您可能想要检查“Message-ID”标头值。这与整个消息的 MD5 并不完全相同,但每条唯一消息都应具有唯一的 ID 值;因此,可以安全地假设,如果您在目标服务器上看到消息 ID,则该消息已被复制。