创建步骤
1、搭建前的准备
1.1、域名解析
我们需要添加A记录和mx记录。
A、首先添加A记录解析到我们的服务器ip,如下图:

B、添加mx记录的解析,如下图:

这里有两个要注意的地方:
1)记录值为mail+你的域名;
2)记录值最后还有一个小数点,没有这个是不能成功解析的
1.2 、网络端口映射
我们需要开放我们需要的端口:
- 用到的端口有
- 25(SMTP服务,用于发送邮件)
- 110(pop3服务,用于接收邮件)
- 143(imap服务,用于接收邮件)
A、服务器所在局域网的端口映射
公网IP:25/110/146 --> 局域网IP:25/110/146
B、服务器防火墙端口开通
firewall-cmd --add-port=25/tcp --permanent
firewall-cmd --add-port=110/tcp --permanent
firewall-cmd --add-port=143/tcp --permanent
firewall-cmd --reload
1.3、必要的中间件
搭建Postfix邮件服务器需要用到的中间件有:postfix dovecot cyrus-sasl-* mailx以及移除Sendmail
A、移除sendmail
在centos7里我们的postfix是系统自带的,但是centos7以前的版本是默认不带的,centos7版本以前是sendmail
rpm -e sendmail 或者 yum remove -y sendmail
B、安装中间件
yum -y install postfix dovecot cyrus-sasl-* mailx
2、搭建的相关参数配置
现在开始配置相关参数
2.1、修改MTA(默认邮件传输代理)
alternatives --config mta
有个确认的提示,一直回车即可。检查一下是不是已经设置成功了。
alternatives --display mta
第一行可以看到mta的状态。 例如:mat - status is manual 或者 状态为手动.就是说明ok了。
2.2、配置postfix
vim /etc/postfix/main.cf
修改内容:
#75行: 取消注释,设置hostname
myhostname = mail.域名.com
#83行: 取消注释,设置域名
mydomain = 域名.com
#99行: 取消注释
myorigin = $mydomain
#116行: 默认是localhost,我们需要修改成all
inet_interfaces = all
#119行: 推荐ipv4,如果支持ipv6,则可以为all
inet_protocols = ipv4
#164行: 添加
mydestination =
m
y
h
o
s
t
n
a
m
e
,
l
o
c
a
l
h
o
s
t
.
myhostname, localhost.
myhostname,localhost.mydomain, localhost, $mydomain
#264行: 取消注释,指定内网和本地的IP地址范围
mynetworks = 192.168.8.0/24 127.0.0.0/24
或
mynetworks = all
mynetworks = 0.0.0.0/0
#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
开启dovecot服务并添加到系统自启
systemctl enable postfix
2.2、配置dovecot
更改内容:
vim /etc/dovecot/dovecot.conf
#30行: 如果不使用IPv6,请修改为*
listen = *
#第48行,设置允许登录的网段地址,也就是说我们可以在这里限制只有来自于某个网段的用户才能使用电子邮件系统。如果想允许所有人都能使用,则不用修改本参数
login_trusted_networks = 192.168.8.0/24
更改内容:
vim /etc/dovecot/conf.d/10-auth.conf
#9行: 取消注释并修改
disable_plaintext_auth = no
#97行: 添加
auth_mechanisms = plain login
更改内容:
vim /etc/dovecot/conf.d/10-mail.conf
#30行: 取消注释并添加
mail_location = maildir:~/Maildir
更改内容:
vim /etc/dovecot/conf.d/10-master.conf
==#88-90行: 取消注释并添加 Postfix smtp验证 ==
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
注意:如果我们没有使用ssl的话需要进行下面的操作。使用了则不需要。
vim /etc/dovecot/conf.d/10-ssl.conf
更改内容:
#8行: 将ssl的值修改
ssl = no
开启dovecot服务并添加到系统自启
systemctl enable dovecot
2.2、添加账号
useradd 邮件登录名 -s /sbin/nologin
echo ‘邮件用户登录密码’ | passwd --stdin 邮件登录名
2.3、启动服务
systemctl restart dovecot
systemctl restart postfix
systemctl start saslauthd
2.4、配置mailx:
vim /etc/mail.rc:
set hold
set append
set ask
set crt
set dot
set keep
set emptybox
set indentprefix="> "
set quote
set sendcharsets=iso-8859-1,utf-8
set showname
set showto
set newmail=nopoll
set autocollapse
set markanswered
ignore received in-reply-to message-id references
ignore mime-version content-transfer-encoding
fwdretain subject date from to
set bsdcompat
set from=邮件登录名@域名.com
set smtp=mail.域名.com
set smtp-auth-user=邮件登录名
set smtp-auth-password=邮件登录密码
set smtp-auth=login
3、搭建完成后的测试
按照以上设置,邮件服务器的E-mail登录地址为:mai.域名.com,邮件账号和密码为:2.2步骤中设置的邮件用户名。可以进行如下测试:
3.1 Foxmail
例子:邮件地址adminmail.dollarphp.com
登录地址:adminmail@dollarphp.com, 邮件账号:adminmail@dollarphp.com
根域名:dollarphp.com


3.2 网易邮箱

本文详细介绍了在CentOS7.8上搭建邮件服务器Postfix的步骤,包括域名解析、网络端口映射、中间件安装、MTA配置、postfix与dovecot的设置、账号添加、服务启动以及错误处理。通过设置,可以实现SMTP、POP3和IMAP服务,并通过Foxmail和网易邮箱进行测试。
4113

被折叠的 条评论
为什么被折叠?



