跳到正文
网络寻租
返回

postfix架构初探

image

最近几天我们的服务器没有办法收到邮件了, 为了解决这个问题, 我必须弄清楚现在服务器邮件系统的架构, 然后找到到底问题出在哪里。 我们服务器是采用postfix的, 当初配置的时候不是我, 也没有留下配置文件。 弄清楚状况以及解决问题花费了我比较多的时间, 在这里整理一下具体的信息, 下次再遇到问题的时候可以回来看看。 根据我的个人经验, 对于用到的一个技术, 如果没有研究透彻以及留下对应的文档, 以后一定会后悔。 所以在下面稍微整理一下, 没有兴趣就跳过吧。

什么是postfix

简单地说, postfix就是一个邮件服务器, 它用来处理邮件收发的一些工作。 postfix控制了无数小的模块, 而自己可以说是一个路由器的角色。

image

但是postfix内部细看的话又非常复杂, 文章开始的那个图片就是一个模块化的流程图。这里面有几篇文章可以看看的:

如何配置

我发现linode的ubuntu的配置文档 很不错,采用mysql作为数据库,存储域名,邮件用户,邮件用户别名信息,然后用dovecot来作为用户和外界通讯的服务器, 按照这个配置,可以搭建好一个可用的邮件系统。

邮件流程

为了弄清楚具体做了什么, 以便遇到问题的时候可以快速定位, 需要关注几点:

邮件是如何从外面发送进来, 被客户端接收的

外面的服务器会通过smtp发送邮件到postfix,postfix服务器会接收邮件,经过一系列的处理过程,最后保存到本地的邮件目录存放地里面。 按照上面的设置,会保存在/var/mail/%domain/%username目录中。

邮件是如何通过客户端, 发送给其他邮件的。

通过devocot pop/imap服务器, 客户端发送对应的请求, 然后转存到本地mail地址, 然后postfix做发送处理。

postfix也提供一个命令行的工具sendmail来在本地发送邮件。

如何验证用户

dovecot设置文件里面具体设置如何做验证, 是否支持纯文本密码(非常不安全), 是否支持ssl, 采用什么方式来验证等等。

具体的邮件本地缓存位置,配置文件和进程。

更进一步的需求

前面做的事情只是比较基本的部分,如果要成为一个可靠的生产环境,还是需要一些其他的事情:

很多时候, 还是购买现成的服务比较好, 自己做的话成本太高了, 也做不到专业。

2012-10-26问题整理

本次发生邮件系统不能用的根本原因没有找到, 主要发现postfix, dovecot进程没有起来。 花费了2个晚上的时间, 终于把问题解决了, 具体的挫折路线:

2013-12-08问题整理

因为服务器更换,需要重新装一遍邮件系统,前一次安装的日志没有留下来, 于是我采用ubuntu的教程,结果耗费了一个星期都没有安装成功,几乎要崩溃了。 后来找到现在用的安装教程,也是一路磕磕碰碰遇到很多问题。总结一下经验:

回头看看, 走了不少弯路, 但是整理一下发现, 其实整个系统也并不是那么复杂。


分享这篇文章:

上一篇
尝试站着工作
下一篇
买了新的笔记本

评论

评论通过 GitHub 账号发布,需要先使用 GitHub 登录。