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 # : 注释(注意是注释掉,因为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/, 10.0.0.0/ # 419行: 取消注释,邮件保存目录
home_mailbox = Maildir/ # 571行: 添加
smtpd_banner = $myhostname ESMTP # =======以下所有添加到最后尾部======= # 规定邮件最大尺寸为10M
message_size_limit = # 规定收件箱最大容量为1G
mailbox_size_limit = # 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

# -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 # -104行: 修改
password_query = \
SELECT email as user, password \
FROM mail_users WHERE email = '%u' # -124行: 修改
user_query = \
SELECT maildir, AS uid, 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

上一篇:搭建邮件服务器 Postfix + Dovecot (CentOS)


下一篇:kubernetes 条件需求