Linux搭建邮件服务器Postfix+Dovecot+MySQL+PHP
用于搭建的服务器信息
阿里云 Centos 6.5 32位
安装过程
1.安装Postfix 版本(2:2.6.6-8.el6)
yum -y install postfix
安装完成还需要替换系统自带的sendmail:
rpm -e sendmail
#或者使用
yum remove sendmail
检查postfix是否支持myql
postconf -m
检查postfix是否支持cyrus,dovecot
postconf -a
修改MTA(默认邮件传输代理)然后直接回车即可。
alternatives --config mta
检查一下是不是已经设置成功了。第一行可以看到mta的状态。 例如:mat - status is manual.或者显示mta - 状态是手工。
alternatives --display mta
1.1.配置Postfix
编辑/etc/postfix/main.cf文件,可以下载下来修改,也可以使用vi进行编辑:
vi /etc/postfix/main.cf
修改内容如下:
# 75行: 取消注释,设置mail.xxx.com myhostname = mail.xxx.com # 83行: 取消注释,设置xxx.com mydomain = xxx.com # 99行: 取消注释 myorigin = $mydomain # 113行: 取消注释 inet_interfaces = all # 116: 注释(注意是注释掉,因为113行已经取消了注释) #inet_interfaces = localhost # 119行: 推荐ipv4,如果支持ipv6,则可以为all inet_protocols = ipv4 # 164行: 注释(注意是注释掉,因为165行已经取消了注释) #mydestination = $myhostname, localhost.$mydomain, localhost # 165行: 取消注释 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain # 264行: 取消注释,指定内网和本地的IP地址范围 mynetworks = 127.0.0.0/8, 10.0.0.0/24 # 419行: 取消注释,邮件保存目录 home_mailbox = Maildir/ # 571行: 添加 smtpd_banner = $myhostname ESMTP # =======以下所有添加到最后尾部======= # 规定邮件最大尺寸为10M message_size_limit = 10485760 # 规定收件箱最大容量为1G mailbox_size_limit = 1073741824 # SMTP认证 smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $myhostname smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject
修改好了之后启动postfix
/etc/rc.d/init.d/postfix start
#或者使用
service postfix start
将postfix设置开机启动
chkconfig postfix on
2.安装Dovecot 版本 (1:2.0.9-22.el6_10.1)
yum -y install dovecot dovecot-mysql
2.1.配置Dovecot
修改如下:
[root@mail ~]# vi /etc/dovecot/dovecot.conf
# 26行: 如果不使用IPv6,请修改为*
listen = *
[root@mail ~]# vi /etc/dovecot/conf.d/10-auth.conf
# 9行: 取消注释并修改 disable_plaintext_auth = no # 97行: 添加 auth_mechanisms = plain login
[root@mail ~]# vi /etc/dovecot/conf.d/10-mail.conf
# 30行: 取消注释并添加
mail_location = maildir:~/Maildir
[root@mail ~]# vi /etc/dovecot/conf.d/10-master.conf
# 88-90行: 取消注释并添加 # Postfix smtp验证
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
复制mysql配置文件
cp /usr/share/doc/dovecot-*/example-config/dovecot-sql.conf.ext /etc/dovecot/dovecot-sql.conf.ext
编辑/etc/dovecot/dovecot-sql.conf.ext
# 29行: 取消注释并修改 driver = mysql # 66行: 取消注释并修改(下列3项自己对应设置) connect = host=localhost dbname=数据库名 user=数据库账号 password=填写数据库密码 # 72行: 取消注释 default_pass_scheme = MD5 # 102-104行: 修改 password_query = \ SELECT email as user, password \ FROM mail_users WHERE email = '%u' # 122-124行: 修改 user_query = \ SELECT maildir, 666 AS uid, 666 AS gid \ FROM mail_users WHERE email = '%u'
修改好了之后启动dovecot
/etc/rc.d/init.d/dovecot start
#或者使用
service dovecot start
将dovecot设置开机启动
chkconfig dovecot on
到这里,我们的邮件服务器就已经搭建成功了。
5.域名解析
最后别忘了还需要进行域名解析工作。
添加一个子域名mail,A记录解析到服务器IP。
再添加一个MX记录,主机记录为空,记录值为上面解析的二级域名mail.lomu.me,优先级10。
注意:解析生效可能需要一段时间。
6.邮箱使用
一切都弄好以后,就可以使用Foxmail等第三方软件来收发邮件了。在这里需要说一下,系统用户就是邮件的用户,例如root,就是一个邮箱用户,邮箱是root@domain.com,密码就是root的密码,所以需要创建用户,只要使用useradd创建用户,再使用passwd设置密码。
好了,假如我们创建一个admin的用户:
# 创建用户
useradd admin
#设置密码,会要求输入两次密码
passwd admin
接下来登录Foxmail