CentOS7安装Postfix Dovecot实现邮件服务器

实验环境:

CentOS 7   ip192.168.0.106

前言

邮件发送收取需要搭建邮件服务器,邮件收、发服务器是分开的,也就是我们需要搭建一个邮件发送服务器和一个邮件收取服务器。
本文会搭建收(Dovecot)、发(Postfix)两个服务器,并用邮件客户端(Foxmail)做测试。

内网的邮件服务器只能给其他(腾讯企业邮箱,网易邮箱等)邮箱发送邮件,而不能接受其他邮箱的回邮件,如想可以收到回件需要购买域名配置A记录和MX记录,本文档不再讲解。

协议

协议就是定义规则,这里是邮件协议,定义邮件收发的规则,了解规则有助于理解软件的配置文件。
邮件发送协议 SMTP(Simple Mail Transfer Protocol),打开端口 25。
邮件收取协议 POP,打开端口 110;还有个常用邮件收取协议 IMOP,打开端口 143。

CentOS7安装Postfix Dovecot实现邮件服务器_第1张图片

服务软件

Postfix
Postfix 是实现 SMTP 协议的软件,也叫做邮件发送服务器。

邮件客户端将邮件扔给它,由它对邮件进行转发,至于怎么转发,SMTP 协议制定了规则,而 Postfix 负责具体事情,我们只需要修改 Postfix 配置文件要求它按照我们的想法去做。

Dovecot
Dovecot 实现了 POP 和 IMOP 协议,也叫做邮件收取服务器。如果只搭建了 Postfix 而没有它,不好意思,你是收不到邮件的。

Sasl
Sasl登陆验证服务,在下面的介绍可以看到 Postfix 作为邮件发送服务器,不能无限制的转发任意邮件,应当只转发它信任的发件人发送的邮件,这一点体现在 Postfix 的配置文件要配置它认为安全的主机(mynetworks 参数)。但这样会显得很麻烦,Sasl 通过其它方式也可以帮助 Postfix 完成信任邮件的认证。

配置软件

配置postfix 发送服务器

配置服务器主机名称,服务器主机名称与邮件发送端信域名要一致

[root@leshen1 ~]#  vim /etc/hostname

#输入下面保存

#查看主机名
cat /etc/hostname

CentOS 7自带Postfix 之前版本不清楚,如果不存在yum安装一下,可以不执行这步

yum  install postfix

下载好后,配置Postfix服务程序直接修改配置文件

vim /etc/postfix/main.cf

#修改以下配置,注意下面的变量不要重复,如果发现与原来的变量重名,那就将原来的变量给注释掉
#邮件服务器的主机名
myhostname = mail.aLeShen.cn
#邮件域,@后面的域名
mydomain = aLeShen.cn
#往外发邮件的邮件域
myorigin = $mydomain
#监听的网卡
inet_interfaces = all
inet_protocols = all
#服务的对象
mydestination = $myhostname,$mydomain
#邮件存放的目录
home_mailbox = Maildir/
#允许的网段,如果增加本机所在网段就会出现允许不验证也能向外域发信
mynetworks = 192.168.0.0/24, 127.0.0.0/8

#新添加以下配置,SMTP认证  
#--------自定义(下面可以复制粘贴到文件最后面,用于设置服务器验为主,第一行设置发送附件大小)
#开启认证
smtpd_sasl_auth_enable = yes
#不允许匿名发信
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname 
#允许本地域以及认证成功的发信,拒绝认证失败的发信
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination

检查并启动postfix

 #修改保存后检查配置文件是否有错

postfix check

 #开启postfix服务,CentOS6用service postfix start
systemctl start postfix

#设置postfix服务开机启动,CentOS6用chkconfig postfix on
systemctl enable postfix  

配置dovecot

安装dovecot

yum install dovecot

安装完成修改配置文件

vim /etc/dovecot/dovecot.conf

#修改以下配置
protocols = imap pop3 lmtp
listen = *, ::

#新添加以下配置
#-----------自定义(下面可以复制粘贴到文件最后面)------------
!include conf.d/10-auth.conf

ssl = no
disable_plaintext_auth = no
mail_location = maildir:~/Maildir

 启动dovecot

#CentOS6用service dovecot start
systemctl start dovecot
#CentOS6用chkconfig dovecot on    
systemctl enable dovecot   

配置cyrus-sasl

yum install cyrus-sasl

修改配置登录方式

#如果是空文件,需要自己添加

vim /etc/sasl2/smtpd.conf

pwcheck_method: saslauthd
mech_list: plain login
log_level:3

#配置系统认证(本地用户认证)

vim /etc/sysconfig/saslauthd

MECH=shadow

启动

systemctl start saslauthd #CentOS6用service saslauthd start

systemctl enable saslauthd #CentOS6用chkconfig saslauthd on

测试

添加用户

#第一个邮箱用户

useradd autumn

echo  leshen | passwd --stdin autumn

#第二个邮箱用户

useradd autumn2

echo 123456 | passwd --stdin autumn

关闭防火墙

sudo firewall-cmd --zone=public --add-port=110/tcp --permanent
sudo firewall-cmd --zone=public --add-port=25/tcp --permanent
sudo firewall-cmd --reload

telnet客户端测试方法

#安装telnet客户端

yum -y install telnet-server telnet

#开始写邮件

telnet localhost 25

CentOS7安装Postfix Dovecot实现邮件服务器_第2张图片

展示上图就表示发送成功,

还没发出去的邮件,可以 cat /home/autumnn/Maildir/new/ 下看你的邮件

这一步接受可以不用telent接受,直接用Foxmail看看是否有信息

[root@mail ~]# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user autumn
+OK
pass 密码
+OK Logged in.


list #列表查看邮件
retr 1 #读取编号为1的邮件
quit #退出邮箱

CentOS7安装Postfix Dovecot实现邮件服务器_第3张图片

Foxmail配置测试

CentOS7安装Postfix Dovecot实现邮件服务器_第4张图片

CentOS7安装Postfix Dovecot实现邮件服务器_第5张图片

CentOS7安装Postfix Dovecot实现邮件服务器_第6张图片

不好用,使用systemctl stop firewalld.service 把防火墙全关了试试

CentOS7安装Postfix Dovecot实现邮件服务器_第7张图片

点击收取看到之前通过telnet客户端 发送的邮件

CentOS7安装Postfix Dovecot实现邮件服务器_第8张图片

如果发送邮件和接受邮件在foxmail上不好用,提示 接收密码错误,把下图设置成不需要验证

CentOS7安装Postfix Dovecot实现邮件服务器_第9张图片

参考:Centos7.9搭建自主邮件服务器详细步骤_Linux_脚本之家

------------------------------------------与正文内容无关------------------------------------
如果觉的文章写对各位读者老爷们有帮助的话,麻烦点赞加关注呗!小弟在这拜谢了!
如果您觉得我的文章在某些地方写的不尽人意或者写的不对,从而让你对你人生观产生颠覆(概不负责),需要斧正,麻烦在评论区不吝赐教,作者看到后会根据您的提示查阅文章进行修改,还这世间一个公理一片蓝天
 

你可能感兴趣的:(Liunx,linux)