这里是普通文章模块栏目内容页
CentOS系统上搭建postfix邮件服务器

更新:iredmail集成了postfix,dovecot,postfixadmin,roundcubemail,spamassassin,clamav,一键安装,异常方便!赶时间的朋友们就装这个吧!

邮件服务器这东西,小瞧它了。

我用的是LAMP(前端支持)+postfix(smtp)+dovecot(pop3/imap和smtp认证)+postfixadmin(数据库管理)+squirrelmail(webmail)。

他们的关系大概是这样:源码编译安装带dovecot和mysql模块的postfix,然后稍微改改postfix的配置文件main.cf,然 后postfix就认识他俩了;然后装dovecot,对其进行配置使支持mysql和postfix,然后弄个基于PHP的squirrelmail网 页客户端,微微设置一下./config,然后松鼠同学就认识dovecot了。然后他们就全都连通了。。然后一回生二回熟,就一起工作了。。

1)安装 & 配置postfix

具体命令怎么打请查阅官方文档,清清楚楚。make && make install 大家懂的,然后注意各种文件夹的权限设置,然后装完来句

postfix start

启动服务,可以验证下有没有启动:

qs -eaf|grep postfix

我只看到一个master和两个postfix的进程,理应还有个postfix的smtpd进程的,不过没有也罢。至少暂时只能罢了。

可以看看25端口有没被监听:

netstat -anp|grep :25

想知道自己是否成功扩展dovecot认证和mysql数据库支持,请来句

postconf -a

postconf -m

配置postfix需要达成两个目的:获得dovecot认证和mysql支持。

为什么要获得dovecot认证?因为dovecot管着用户名密码的认证。用户输入密码,由客户端递交给dovecot,dovecot到数据库里一查,嗯,没错,好,告诉postfix,这用户合法。

既然mysql由dovecot来支配,那为什么postfix也要支持mysql呢?因为他们各自拥有的账户必须一致。dovecot认为,我们 这个邮件服务器的账户是mysql里面那些记录;而postfix在不认识mysql的情况下,会认为我们邮件服务器的账户是Linux操作系统的用户。 我们需要对postfix说,童鞋你搞错了,真正的账户在数据库里,别盯着系统账户不放了= =

我的/etc/postfix/main.cf 和上面提到的参考文章中基本一致,除了自己的路径和域名。

2)安装postfixadmin

这是个基于php的给postfix和dovecot提供数据库结构的软件,有了它你可以不用手动创建表了,而且还可以当作后台使用~

装好LAMP之后,扔进去安装下基本就能用了,不过最新版采用把系统密码写进配置文件的方法,网页上面有点不友好=。=

3)安装,配置dovecot

偷个懒,直接yum install dovecot了,倘是deb系列的sudo apt-get install dovecot 应该也可以,不行的话就search一下被~