CentOS 7 部署SMTP服务
设置域名
mail.webstudy.cool用A记录解析到邮件服务器IP(后面的各个客户端配置的域名都写这个A记录的),再把webstudy.cool用MX记录解析到mail.webstudy.cool(这个是当遇到***@webstudy.cool时会解析到mail.webstudy.cool)。
测试端口telnet命令也要用mail.webstudy.cool,不能用mx记录的webstudy.cool(用这个会解析到A记录解析的webstudy.cool)。
安装postfix
安装命令
yum install postfix
配置
文件位置: /etc/postfix/main.cf
vim /etc/postfix/main.cf
修改内容:
#取消注释,设置hostname
myhostname = mail.webstudy.cool
#取消注释,设置域名
mydomain = webstudy.cool
#99行: 取消注释
myorigin = $mydomain
#116行: 默认是localhost,我们需要修改成all
inet_interfaces = all
#119行: 推荐ipv4,如果支持ipv6,则可以为all
inet_protocols = ipv4
#164行: 添加
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#取消注释,指定内网和本地的IP地址范围
mynetworks = 127.0.0.0/8 #也可以使用0.0.0.0/0使用所有ip及端口号
#取消注释,邮件保存目录
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
启动postfix服务
systemctl start postfix
systemctl enable postfix
安装配置dovect
编辑文件dovecot.conf
vim /etc/dovecot/dovecot.conf
更改内容:
#26行: 如果不使用IPv6,请修改为*
listen = *
#在主配置文件中的第48行,设置允许登录的网段地址,也就是说我们可以在这里限制只有来自于某个网段的用户才能使用电子邮件系统。如果想允许所有人都能使用,则不用修改本参数
login_trusted_networks = 192.168.10.0/24更改内容
编辑文件10-mail.conf
vim /etc/dovecot/conf.d/10-mail.conf
更改内容:
# 30行: 取消注释并添加 mail_location = maildir:~/Maildir
编辑文件10-master.conf
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的话需要进行下面的操作。使用了则不需要。
编辑文件10-ssl.conf
vim /etc/dovecot/conf.d/10-ssl.conf
更改内容:
# 8行: 将ssl的值修改为 ssl = no
启动dovecot服务
systemctl start dovecot
systemctl enable dovecot
配置cyrus-sasl
vim /etc/sasl2/smtpd.conf #如果是空文件,需要自己添加
pwcheck_method: saslauthd
mech_list: plain login
log_level:3
vim /etc/sysconfig/saslauthd #修改下面配置项(本地用户认证)
MECH=shadow
启动saslauthd
systemctl start saslauthd
systemctl enable saslauthd
添加用户
添加的用户名:smtpuser 密码:123456
useradd smtpuser
echo 123456 | passwd --stdin smtpuser
用mailx测试
yum install mailx -y
使用mailx发送邮件
echo '测试邮件内容' | mail -s '测试主题!' qy***@foxmail.com