1

我正在开发一个邮件网关,它会自动为通过它发送的所有电子邮件提供(除其他外)“在浏览器中查看”功能。这就提出了将所有电子邮件存储在某个地方以便可以轻松访问的需求。即使时间段有限,甚至在保存消息之前应用 gzip,我们仍在研究仅保留最近的消息所需的约 500GB 存储空间。

由于所有电子邮件大多相同(除了一些个人变量),我在想是否有更有效的存储方式。对多条记录的重复数据删除的东西,或者类似的东西。对此有何建议?

另一种方法是保存模板,并为每封发送的电子邮件只保存变量,但我们不想这样做,因为这个过程对发件人应该是透明的。这意味着这些信息将无法访问,并且需要事后推断。

4

2 回答 2

1
  1. 如果有重复的图像/附件/部件,您可以根据其内容哈希实现部件的重复数据删除。

  2. 您可以尝试以 TAR 或 MBOX 文件格式打包多条消息,然后在存储之前对其进行压缩。压缩比会更好,因为一个文件中有更多的重复字节。

于 2022-01-29T12:41:26.097 回答
0

这一切都应该动态完成。在添加订阅者特定内容/合并标签(变量)之前,将电子邮件按原样存储一次。在电子邮件中,您需要为每个订阅者提供唯一的“在浏览器中查看”链接。根据该链接,您将在基于浏览器的版本中提供其独特的变量。

如果有很多独特的内容,您可能想要使用数据库,否则如果只是他们的名称,您可以将其作为 url 参数本身传递。

于 2013-09-04T17:33:29.610 回答