共计 3305 个字符,预计需要花费 9 分钟才能阅读完成。
说说在 64 位 CentOS 下安装 Postfix+Dovecot 配置邮件服务器过程。
Postfix 和 Dovecot 功能确实很强大,支持各种认证方式,配置非常灵活,就因为太过于灵活,反而安装配置的过程中,容易有各种各样的陷阱,碰到问题了,日志是最好的解决办法了。我们假设你申请的域名是 linuxidc.com。
在域名服务提供商那里设置域名解析,我的 linuxidc.com 设置了 3 个域名解析:
第一个是:A 记录,RR 值为 @ , 指向 服务器的 IP 地址
第二个是:MX 记录,RR 值为 @,指向 linuxidc.com
第三个是:A 记录,RR 值为 www,指向服务器的 IP 地址
配置完毕后,ping www.linuxidc.com 如果能提示出你的服务器的 IP 地址,证明 www 的配置已经生效。
下来还要检查 MX 记录是否生效,要用 nslookup 检查一下是否 MX 记录正确。
在 windows 系统的命令行控制体输入:nslookup -qt=mx linuxidc.com 回车后,
能显示你的域名 linuxidc.com,就代表你的 MX 记录配置正确。
如果 MX 记录配置不正确,那用 QQ 邮箱发邮件,你就会收到个退信,退信原因的内容如下:
收件人(zhang@linuxidc.com)所属域名不存在,邮件无法送达。
Name service error for name=linuxidc.com type=MX: Host found but no data record of requested type
域名解析搞定了,就可以安装配置 postfix 和 dovecot 了。
我没有下载源码进行安装,直接用 yum 进行的。
yum install postfix
yum install dovecot
yum install cyrus-sals
安装完毕后,需要配置的东西其实不多,就两个配置文件需要修改。
第一个是:postfix 的配置文件 /etc/postifx/main.cf,需要修改的内容如下所示,其他的用默认即可。
myhostname = mail.linuxidc.com
mydomain = linuxidc.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 0.0.0.0/0
home_mailbox = Maildir/
smtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_sender_login_mismatch, reject_authenticated_sender_login_mismatch, reject_unauthenticated_sender_login_mismatch
smtpd_sasl_auth_enable = yes
smtpd_sender_login_maps = hash:/etc/postfix/sender_login_maps
第二个是:dovecot 的配置文件 /etc/dovecot/dovecot.conf,需要修改的内容如下所示,其他的默认即可。
protocols = imap pop3 lmtp imaps pop3s
ssl_disable = no
mail_location = Maildir:~/Maildir
disable_plaintext_auth = no
dovecot.conf 配置好以后,如果直接启动 service dovecot start,会提示警告:
Aug 14 17:55:54 master: Warning: Killed with signal 15 (by pid=12829 uid=0 code=kill)
Aug 14 17:55:55 config: Warning: NOTE: You can get a new clean config file with: doveconf -n > dovecot-new.conf
Aug 14 17:55:55 config: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:81: login_user has been replaced by service {user}
Aug 14 17:55:55 config: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:88: add auth_ prefix to all settings inside auth {} and remove the auth {} section completely
这时我们需要在 /etc/dovecot/ 目录下面执行:
doveconf -n > dovecot-new.conf
该命令会把 dovecot.conf 转化为标准格式的配置文件。我们用新生成的文件 dovecot-new.conf 替换掉 dovecont.conf 即可。
在配置的过程中,还有一些细节需要注意:
那就是设置 默认的 MTA,卸载掉 sendmail,把 MTA 设置为 postfix,设置开机自动启动 postfix 和 dovecot。
然后用 useradd 命令添加一个用户 zhang,密码设置为 123456
启动服务:
service postfix restart
service dovecot restart
service saslauthd restart
下来配置 outlook,填写 电子邮件地址为:zhang@linuxidc.com
账号类型选择 POP3,接收邮件服务器为 linuxidc.com,发送邮件服务器也为 linuxidc.com
然后用户名为 zhang,密码为 123456
不出意外的话,应该可以正常收发邮件了。
新邮件会保存在服务器的 /home/zhang/Maildir/new 这个目录里。
我这个配置比较简单,是用的服务器本身的密码验证机制。postfix 很强大,可以支持多种认证方式和其他的加密方式。
本来想用 postfixadmin 进行 web 管理的,但是那个配置起来就要更复杂一些了,通过 web 的方式添加用户后,需要在 home 目录创建对应的用户名的文件夹来保存邮件,有相关的脚本需要执行,另外认证模式得修改为 mysql 认证,配置 稍微复杂,等下一篇文章在写 postfixadmin 相关的东西吧。
Postfix 日志 connect from unknown 错误
配置 postfix,提示如下错误:
postfix/smtpd[29233]: connect from unknown[58.38.183.244]
解决办法:
关键是 postfix 配置文件 main.cf 里的 mynetworks,修改为如下所有网段都通过就可以了。
mynetworks = 0.0.0.0/0
CentOS 6.4 下 Postfix 邮件服务安装和基本配置 http://www.linuxidc.com/Linux/2013-08/88977.htm
CentOS 5.5 下邮件服务器 Postfix 安装 http://www.linuxidc.com/Linux/2012-05/60010.htm
搭建 Red Hat Enterprise Linux 5.4 的 Postfix 邮件服务器 http://www.linuxidc.com/Linux/2012-12/77167.htm
Linux 下架构安全邮件服务器之 Postfix(认证)http://www.linuxidc.com/Linux/2012-09/70527.htm
Postfix 的详细介绍 :请点这里
Postfix 的下载地址 :请点这里
更多 CentOS 相关信息见 CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14