在RDBMS中保留电子邮件

时间:2012-08-14 07:22:11

标签: java database database-design javax.mail nntp

我正在考虑使用dbmailArchiveopteryxmanitouJames来保留javax.mail.Message个对象,而不是完全 e邮件本身。但是,我猜测,就dbmail而言,它只对实际发送和接收消息非常有用。

在这种特殊情况下,我想获取Leafnode所拥有的NNTP消息并将它们放入RDBMS中。为此,dbmail看起来很有趣,只因为它是一个已建立的项目,可能已经解决了许多电子邮件 - >数据库问题。具体而言,我预计their schema是合理设计的。

我正在使用javax.mail.Message,因为GNU NNTP API使用Message,在此上下文中有起伏。 (它缺少一些NNTP特定的功能。)

假设没有用于dbmail的Java驱动程序,我看不出为什么会有这样的驱动程序,我如何从Leafnode获取消息到dbmail?只需在localhost上发送一封电子邮件?

在旁注中,这有多疯狂/愚蠢?有更好的一般方法吗?

  

很多人已经多次向数据库发送邮件。   一个例子是DBMail项目。另一个例子是微软   Exchange服务器,它使用关系数据库来存储所有内容。

http://www.memoryhole.net/~kyle/databaseemail.html

我很想知道为什么交换使用RDBMS,以及他们的架构是什么样的,也许有一些教训。

1 个答案:

答案 0 :(得分:1)

  

这有多疯狂/愚蠢?

如果你对钥匙很小心,不要疯狂或愚蠢。考虑标题和附件,并根据基数要求将它们分解为表格。然后,您可以根据日期,从,到,列表ID等运行查询。如果您感到好奇,可以按月计算附件类型。 ; - )

  

我很想知道为什么交换使用RDBMS

如果你仔细研究如何将邮件消息传递到mbox文件中,你就会开始意识到DBMS对于这类事情有多么适合。当微软开始编写Exchange时,他们已经拥有了所拥有的SQL服务器。 Unix邮件服务器较旧,没有免费的DMBS可以完成任务。文化问题,但这是另一个故事。