2012-10-10 52 views

回答

9

Postfix服务器本身不存储电子邮件(至少很长时间不存在) - 它只能临时排队,直到它被转发给目标收件人。通常只有IMAP(或过时的POP3)服务器实际存储您的电子邮件。

大多数开源IMAP服务器(Courier,Cyrus,Dovecot ...)都支持使用MySQL作为数据库来保存元信息,如用户和密码列表,接受域名列表,用户别名等。甚至试图利用像MySQL这样的数据库作为实际的存储后端。

当然,如果你真的觉得冒险,你可以尝试实现你自己的SQL IMAP后端。 对您而言,最重要的考虑因素之一是通过数据库引擎支持无限长的VARCHAR或BLOB(用于电子邮件附件)。不幸的是,就BLOB支持而言,MySQL并不是非常好的服务器(你必须为此调整客户端和服务器配置)。此外,如果您关心电子邮件数据的安全性,您可能希望获得良好的交易支持。对于MySQL,这意味着你必须使用InnoDB引擎。

+1

我认为你的答案在某些地方是错误的。如果我们谈论外发邮件,队列是正确的。但传入邮件后缀会将电子邮件存储到文件系统中。从那里,imap/pop服务器将会接收它们。存储是以mbox格式完成的,通常位于/ var/spool/mail/[username] –

+0

@BerndOtt:我从来没有说过postfix在数据库中存储邮件,完全相反:“甚至没有尝试将数据库用作实际存储后端” 。我只是说用户或别名列表可以存储在数据库中。 – mvp

+1

这是误导......接受答案和明显错误......你应该研究它是如何工作的,并编辑你的答案。 –

相关问题