3

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

在这种特殊情况下,我想获取Leafnode拥有的 NNTP 消息并将它们放入 RDBMS。为此,dbmail 看起来很有趣,因为它是一个已建立的项目,大概已经解决了许多电子邮件 --> 数据库问题。具体来说,我希望他们的架构设计合理。

我正在使用,javax.mail.Message因为GNU NNTP API使用Message,在这种情况下有起有落。(它缺少一些 NNTP 特定的功能。)

假设没有用于 dbmail 的 Java 驱动程序,而且我不明白他们为什么会有一个,我将如何从 Leafnode 获取消息到 dbmail?只是在本地主机上给自己发一封电子邮件?

在旁注中,这是多么疯狂/愚蠢?有更好的通用方法吗?

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

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

我很想知道为什么 Exchange 使用 RDBMS,以及它们的模式是什么样的,也许那里有一些教训。

4

1 回答 1

1

这是多么疯狂/愚蠢?

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

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

如果您仔细研究邮件消息是如何传递到 mbox 文件中的,您就会开始意识到 DBMS 更适合这种事情。到 Microsoft 开始编写 Exchange 时,他们已经拥有自己拥有的 SQL服务器。Unix 邮件服务器较旧,并且没有免费的 DMBS 来完成这项任务。文化问题也是如此,但那是另一回事了。

于 2013-03-14T04:28:11.733 回答