我们可以通过哈希删除通过IMAP检索的电子邮件吗?

问题描述:

我试图通过IMAP检索电子邮件的最多处理次数。 (I asked a related question about it.我们可以通过哈希删除通过IMAP检索的电子邮件吗?

计算通过IMAP检索的MIME邮件的加密哈希码来重复删除它们是否可靠?

换句话说,为什么同一封电子邮件在通过IMAP多次检索时会导致不同的结果?例如,当电子邮件跨文件夹移动时,电子邮件可以更改它的内容,或标记为已读或出于其他原因?

我在使用Mailkit.NET作为客户端的Windows上使用hMailserver。但是,不确定这是否重要。

+0

如果您只对内容进行哈希处理,则不会更改,但实际的重复项可以存在(消息可以在IMAP中复制)。我认为你已经在设计这个问题了,但UID应该足够了。 – Max

+0

http://crypto.stackexchange.com/questions/2583/is-it-fair-to-assume-that-sha1-collisions-wont-occur-on-a-set-of-100k-strings/2584 –

许多邮件列表附加了一个页脚,所以邮件都发送给我和列表到达与两个不同的签名。

大多数人认为这是一条消息。

我建议使用message-id标头字段进行最多一次处理。 AFAICT在过去的十年里一直保持着独一无二的特征(我见过的最后一次碰撞是从2000年左右开始的)。

+0

它可能值得检查主题或其他一些头文件,以确保它不是碰撞(请记住,有时邮件列表还会在主题值中加入''[list-name]'')。 – jstedfast

+0

我很担心客户可能根本没有发过。 – boot4life

+0

很久以前,客户已经了解到,如果他们的邮件没有被垃圾邮件过滤器捕获。例如,垃圾邮件刺客有六种规则可以将邮件与不良或(部分)缺失的邮件标识进行匹配。 – arnt