Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在数据库中存储邮件的最佳方式(后缀)_Mysql_Email_Postfix Mta - Fatal编程技术网

Mysql 在数据库中存储邮件的最佳方式(后缀)

Mysql 在数据库中存储邮件的最佳方式(后缀),mysql,email,postfix-mta,Mysql,Email,Postfix Mta,请给我一个最好的解决方案来存储所有邮件(发送,接收,转发)在mysql与后缀? 及 这是正确的方法吗?Postfix服务器本身不存储电子邮件(至少不存储很长时间)-它只能暂时排队,直到它被转发到预期的收件人。通常只有IMAP(或过时的POP3)服务器实际存储您的电子邮件 大多数开源IMAP服务器(Courier、Cyrus、Dovecot…)都支持使用MySQL作为数据库来保存元信息,如用户和密码列表、接受域列表、用户别名等。但没有一个服务器尝试使用MySQL这样的数据库作为实际存储后端 当然,

请给我一个最好的解决方案来存储所有邮件(发送,接收,转发)在mysql与后缀? 及
这是正确的方法吗?

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

大多数开源IMAP服务器(Courier、Cyrus、Dovecot…)都支持使用MySQL作为数据库来保存元信息,如用户和密码列表、接受域列表、用户别名等。但没有一个服务器尝试使用MySQL这样的数据库作为实际存储后端

当然,如果您确实感到有冒险精神,可以尝试实现自己的SQLIMAP后端。 对于您来说,最重要的考虑因素之一是数据库引擎对无限长VARCHAR或BLOB(用于电子邮件附件)的良好支持。不幸的是,就BLOB支持而言,MySQL不是很好的服务器(为此,您必须调整客户端和服务器配置)。此外,如果您关心电子邮件数据的安全,您可能希望获得良好的事务支持。对于MySQL,这意味着您必须使用InnoDB引擎。

您可以在
使用mysql和postfix的虚拟邮件、域和用户。

是的,我正在寻找最佳模式。dbmail是您正在寻找的类型吗?我认为您的答案在某些部分是错误的。如果我们谈论发送邮件,队列是正确的。但是收到的邮件postfix会将邮件存储到文件系统中。imap/pop服务器将从那里接收它们。存储是以mbox格式完成的,通常位于/var/spool/mail/[username]这是误导性的。。。被接受的答案和明显的错误。。。你应该研究它的实际工作原理并编辑你的答案。如果你在服务器上安装postfix(没有IMAP或POP3),你发送和接收的邮件会发生什么变化?喝倒采它消失在虚空中…对不起,最后一部分是讽刺,但无论如何我是指冒犯。我只是觉得我想表达的观点很明显。如果查看配置,您可以看到其中两个配置指定了邮件的存储位置,是的postfix配置:
home\u mailbox=Maildir/
virtual\u mailbox\u base=/mail
。因此,在我的例子中,所有邮件都存储在
/mail
中,每个邮件都存储在各自的文件夹inbox/sent和帐户名父文件夹中。此外,SMTP只是postfix使用的协议,postfix是MTA(邮件传输系统)。Postfix开发者这样做是为了它可以存储邮件(直到今天才是真的)。您声称Postfix不存储邮件,但您可以将其配置为存储邮件,将邮件发送到本地文件系统中的邮箱。。。我只是说,把它编辑成:“如果配置了Postfix,它可以将邮件发送到邮箱”。。。这不是我的观点,你写了一个谎言,后缀文档证明了这一点。另外,编辑IMAP(和POP3)服务器存储邮件的部分,因为它们所做的是验证虚拟用户并检索他们的邮件,正如Bernd Ott告诉您的那样。。。同样,不是我的意见,文件证明你错了。如果你回答,至少你应该做的是研究……你提供的链接实际上并没有按照要求将发送或接收的电子邮件存储到mysql中。只有虚拟用户和域保存到mysql中。电子邮件内容仍保存在文件系统中。