我正在考虑使用dbmail,Archiveopteryx,manitou或James来保留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,以及他们的架构是什么样的,也许有一些教训。
答案 0 :(得分:1)
这有多疯狂/愚蠢?
如果你对钥匙很小心,不要疯狂或愚蠢。考虑标题和附件,并根据基数要求将它们分解为表格。然后,您可以根据日期,从,到,列表ID等运行查询。如果您感到好奇,可以按月计算附件类型。 ; - )
我很想知道为什么交换使用RDBMS
如果你仔细研究如何将邮件消息传递到mbox文件中,你就会开始意识到DBMS对于这类事情有多么适合。当微软开始编写Exchange时,他们已经拥有了所拥有的SQL服务器。 Unix邮件服务器较旧,没有免费的DMBS可以完成任务。文化问题,但这是另一个故事。