Centos 7 搭建域名邮箱服务器(阿里云 ESC)

1269
|
2019-10-30 21:28:39

一.准备环境

1.1 申请解封25端口(限阿里云ecs服务器)

阿里云帮助文档:https://help.aliyun.com/knowledge_detail/56130.html

申请地址:https://yundun.console.aliyun.com/?spm=a2c4g.11186623.2.13.4a1d4c071Fl2aS&p=sc


申请大概需要1天时间

注意:安全组和服务器防火墙同时需要开放 110,143,25端口

1.2 移除sendmail

yum remove sendmail

1.3 域名解析



添加mail 的A记录

添加mx记录指向mail

1.4 修改hostname

hostnamectl  set-hostname   mail.域名

1.5  修改MTA(默认邮件传输代理)

alternatives --config mta 

直接回车即可

检测

alternatives --display mta

第一行显示 mat - status is manual 就ok了

二.安装postfix及配置

参数

作用

myhostname

邮局系统的主机名

mydomain

邮局系统的域名

myorigin

从本机发出邮件的域名名称

inet_interfaces

监听的网卡接口

mydestination

可接收邮件的主机名或域名

mynetworks

设置可转发哪些主机的邮件

relay_domains

设置可转发哪些网域的邮件


2.1 安装(已安装的跳过)
yum install postfix

2.2 配置

vim /etc/postfix/main.cf

找到下面配置项并更改,没有的添加

# 修改
myhostname = mail.abc.com 
mydomain = abc.com 
myorigin = $mydomain 
inet_interfaces = all 
inet_protocols = ipv4 
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain 
mynetworks = 127.0.0.0/8
 home_mailbox = Maildir/ 

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 

2.3开启服务并添加到开机自启

systemctl  restart  postfix
systemctl  enable  postfix

三.安装并配置dovecot  

3.1 安装

yum install dovecot 

3.2 配置

vim /etc/dovecot/dovecot.conf 

修改内容

listen = *, ::
#配置允许登录的ip 全部允许则无需更改
login_trusted_networks = 192.168.10.0/24
vim /etc/dovecot/conf.d/10-auth.conf 

更改内容

# 取消注释并修改 
disable_plaintext_auth = no 
# 添加 
auth_mechanisms = plain login 
vim /etc/dovecot/conf.d/10-mail.conf

更改内容

# 取消注释并添加 
mail_location = maildir:~/Maildir
vim /etc/dovecot/conf.d/10-master.conf

更改内容

# 取消注释并添加 
# Postfix smtp验证 
unix_listener /var/spool/postfix/private/auth { 
mode = 0666 
user = postfix
group = postfix
}

关闭ssl(需要则不关闭)

vim /etc/dovecot/conf.d/10-ssl.conf 

更改内容

# 将ssl的值修改为 
ssl = no
#注释 ssl_cert 和 ssl_key

启用dovecot的日志

vim /etc/dovecot/conf.d/10-logging.conf
添加
info_log_path = /var/log/dovecot_info.log
debug_log_path = /var/log/dovecot_debug.log

开启dovecot并添加到开机自启

systemctl start dovecot
systemctl enable dovecot

查看端口监听

[root@izwz988p4jyj52ea58bd5tz new]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      14277/dovecot       
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      14277/dovecot       
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      6129/httpd          
tcp        0      0 127.0.0.1:2900          0.0.0.0:*               LISTEN      1313/WorkerMan: wor 
tcp        0      0 127.0.0.1:2901          0.0.0.0:*               LISTEN      1318/WorkerMan: wor 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1520/sshd           
tcp        0      0 0.0.0.0:1238            0.0.0.0:*               LISTEN      1347/WorkerMan: wor 
tcp        0      0 127.0.0.1:2902          0.0.0.0:*               LISTEN      1328/WorkerMan: wor 
tcp        0      0 127.0.0.1:2903          0.0.0.0:*               LISTEN      1342/WorkerMan: wor 
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      13306/master        
tcp        0      0 0.0.0.0:8282            0.0.0.0:*               LISTEN      1342/WorkerMan: wor 
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1343/mysqld         
tcp6       0      0 :::110                  :::*                    LISTEN      14277/dovecot       
tcp6       0      0 :::143                  :::*                    LISTEN      14277/dovecot       
tcp6       0      0 :::25                   :::*                    LISTEN      13306/master

110、143都已经监听了

创建一个测试用户

adduser admin
passwd admin

发件测试

telnet localhost 110
Trying ::1...
Connected to localhost.
Escape character is ‘^]‘.
+OK Dovecot ready.
user zs
+OK
pass 123456
+OK Logged in.

没问题则quit退出,有问题去看日志

telnet localhost 25
Trying ::1...
Connected to localhost.
Escape character is ‘^]‘.
220 mail.ixmsoft.com ESMTP Postfix
mail from:admin@domain.com
250 2.1.0 Ok
rcpt to:123456@qq.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
this is test mail
.
250 2.0.0 Ok: queued as A702D400FC14
quit
221 2.0.0 Bye
Connection closed by foreign host.

mail from:刚刚添加的用户+@你的域名

mail to:收件人

如上结果就成功了,如果没有收到可以看看是否被判断为垃圾邮件拦截或者查看25端口申请是否失败等等

或者用postfix客户端/网易邮箱客服端测试 (直接百度搜索 下载安装即可)

截图


网易邮箱类似