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

posted on 2019-10-25 17:05  开发员  阅读(1153)  评论(0编辑  收藏  举报