邮件重复数据删除多个用户

Posted

技术标签:

【中文标题】邮件重复数据删除多个用户【英文标题】:Mail deduplication multiple users 【发布时间】:2014-04-20 12:12:43 【问题描述】:

我目前正在按用户(电子邮件帐户)发送重复数据删除电子邮件。我正在创建一个包含多个标头(消息 ID、主题、发件人、日期、收件人)的 sha512 哈希。之后,我将完整的电子邮件(mime 字符串)存储在一个文件中,并在 Elasticsearch 中将元数据(主题、发件人、发件人、收件人、cc ...)与“userID”字段相结合。

这在每个用户的基础上都可以正常工作,但我可以通过在全球范围内对它们进行重复数据删除来大大降低存储成本。问题是,有时当 UserA 和 UserB 都收到相同的消息时,某些标头可能会不同。并且像发送者本身的headers也不同。

非常感谢任何有关如何创建它的提示。

附:一种解决方案是保存不带标题的 MIME 文件并保存每个用户分开的标题。因此,为了获取 userA 的完整电子邮件,我将 MIME 文件与链接到 userA 的文件的标题相结合。但是这个解决方案对我来说似乎有点低效?

【问题讨论】:

【参考方案1】:

我在涉及处理您提出的完全相同问题的行业(诉讼发现)工作 - 请参阅 this 博客文章(您可以跳过大约一半的“重复数据删除快速入门”编号列表和 cmets)基本上与您提到的完全相同的困境相同,即某些电子邮件标头字段总是会变化,因此几乎不可能基于所有标头进行全局重复数据删除。

为了解决这个问题,我用于此目的的软件仅对“密钥生成”部分 here 中显示的字段进行哈希处理。我提到的博客文章的 cmets 部分提供了一个很好的基于字段子集的散列示例。基本上,它将类似于以下内容:

附件(列表) 正文(纯文本) 抄送 来自 主题 到

此外,默认哈希设置(我使用的)是 128 位 MD5,而不是 SHA-1。您可能想根据以下关于哈希冲突概率的文章(堆栈溢出不会让我发布两个以上的链接,抱歉)尝试生成两者并比较结果(使用每种算法“删除”了多少个):

preshing.com/20110504/hash-collision-probabilities/

【讨论】:

以上是关于邮件重复数据删除多个用户的主要内容,如果未能解决你的问题,请参考以下文章

删除重复的电子邮件

MYSQL去重并删除数据最少的重复行

google adwords 是不是对转化进行重复数据删除?

PyQt5 批量删除 Excel 重复数据,多个文件自定义重复项一键删除...

如何根据python中的多个条件对excel文件进​​行重复数据删除?

在 HTML 表单中使用多个选择框 [重复]