使用Postfix与Dovecot部署邮件系统

一、电子邮件系统

1.简介:

在概念上,TCP/IP的电子邮件系统也分为用户界面和文件传输两部分,但文件传输部分并未独立出来,形成一个类似于MOTIS中 MTA的概念。其中的原因在于TCP/IP自始至终坚持点对点的思想,它的电子邮件系统也不例外地采用点对点的传输方式,不存在邮件的存储转发问题。

在点对点方式中,虽然初始主机要参与邮件传输的全过程,但由于TCP/IP下层协议的简洁性,其效率反而比存储转发来得高。

2.优点:

电子邮件系统的优点是即便远地机不可访问,发送者也可以把文件发送出去。为此TCP/IP采用spooling缓冲技术,将用户收发文件与实际的文件传输区别开,这种划分实际是UA和MTA划分的原型。

3.邮件系统中的名词

  • 邮件投递代理(Mail User Agent,MDA):能够让用户在离线的情况下依然可以完成数据的接收,其工作职责是把来自于邮件传输代理(Mail Transfer Agent,MTA)的邮件保存到本地的收件箱中。
  • 用户代理(Mail User Agent,MUA):这是在电子邮件系统中为用户收发邮件的服务器。
  • 邮件传输代理(Mail Transfer Agent,MTA):工作职责是转发处理不同电子邮件服务供应商之间的邮件,把来自于MUA的邮件转发到合适的MTA服务器。

三者的关系:
在这里插入图片描述

4.常见的邮件协议:

  • 简单邮件传输协议(Simple Mail Transfer Protocol,SMTP):用于发送和中转发出的电子邮件,占用服务器的25/TCP端口。

  • 邮局协议版本3(Post Office Protocol 3):用于将电子邮件存储到本地主机,占用服务器的110/TCP端口。

  • Internet消息访问协议版本4(Internet Message Access Protocol 4):用于在本地主机上访问邮件,占用服务器的143/TCP端口。

5.传输过程:

在这里插入图片描述
如果对方邮件服务器(MTA)宕机或对方临时离线,则发件服务器(MTA)就会把要发送的内容自动的暂时保存到本地,等检测到对方邮件服务器恢复后会立即再次投递,期间一般无需运维人员维护处理,随后收信人(MUA)就能在自己的信箱中找到这封邮件。

6. 在生产环境中部署企业级的电子邮件系统时注意:

  • 添加反垃圾与反病毒模块:它能够很有效地阻止垃圾邮件或病毒邮件对企业信箱的干扰。
  • 对邮件加密:可有效保护邮件内容不被黑客盗取和篡改。
  • 添加邮件监控审核模块:可有效地监控企业全体员工的邮件中是否有敏感词、是否有透露企业资料等违规行为。
  • 保障稳定性:电子邮件系统的稳定性至关重要,运维人员应做到保证电子邮件系统的稳定运行,并及时做好防范分布式拒绝服务(Distributed Denial of Service,DDoS)攻击的准备。

7.工作流程:

在这里插入图片描述
使用基于SMTP协议的Postfix服务程序提供发件服务功能,并使用基于POP3协议的Dovecot服务程序提供收件服务功能。这样一来,用户就可以使用Outlook Express或Foxmail等客户端服务程序正常收发邮件。

一般而言,信箱地址以“用户名@主机地址(域名)”格式来规范的。要想更好地检验电子邮件系统的配置效果,需要先部署bind服务程序,为电子邮件服务器和客户端提供DNS域名解析服务。

二、部署电子邮件系统

1.实验环境:

所需要的服务:bind-chroot postfix dovecot

下载后要开启的服务:named postfix dovecot

所用到的端口:53 110 25
Linux Centos 7 作为邮件服务器
Windows 中安装Foxmail或者自带的Outlook作为邮件测试客户端

2.配置域名解析服务器

配置服务器主机名称,使服务器主机名称与发信域名保持一致

[root@mail~]# vim /etc/hostname
mail.smy.com
[root@mail~]# hostname mail.smy.com

hostname命令输完后需要重新打开终端才能显示
清空iptables防火墙默认策略,并保存策略状态,避免因防火墙中默认存在的策略阻止了客户端DNS解析域名及收发邮件

[root@mail ~]# iptables -F
[root@mail ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

配置主机IP地址

[root@mail ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 

HWADDR="00:0C:29:DF:8E:E5"
TYPE="Ethernet"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eno16777736"
UUID="551673a9-50ff-4087-b2d4-06c812a8b3b2"
IPADDR="192.168.29.15"
NETMASK="255.255.255.0"
GATEWAY="192.168.29.254"
ONBOOT="yes"
DNS=192.168.29.15

重启网络服务

[root@mail ~]#service network restart

编辑主配置文件

[root@mail ~]# vim /etc/named.conf  //编辑主配置文件


listen-on port 53 { any ; };
listen-on-v6 port 53 { ::1; };
directory "/var/named"; 
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };

将原本文件的第一行和最后一行大括号中的内容改为any
编辑区域配置文件

[root@mail ~]# vim /etc/named.xhq.zones  //编辑区域配置文件


zone "smy.com" IN {                    //正向解析文件
        type master;
        file "named.smy.com";
        allow-update { none; };
};


zone "29.168.192.in-addr.arpa" IN {       //反向解析文件
        type master;
        file "named.29.168.192";
        allow-update { none; };
};

编辑正向解析配置文件

[root@mail ~]# vim  /var/named/named.smy.com    //编辑正向解析配置文件

$TTL 1D				
@	IN SOA	         smy.com.	 root.smy.com.	(
			                                 	0;serial
			                                	1D;refresh
			                                 	1H;retry
		                                		1W;expire
				                                3H);minimum
        	NS	ns.smy.com.	
ns	   IN A             	192.168.29.15	
@	     IN MX 10          	mail.smy.com.	
mail	 IN A	              192.168.29.15	

重启DNS服务

[root@mail ~]# systemctl restart named
[root@mail ~]# systemctl enable named

3.配置Postfix服务程序

安装postfix服务程序软件

[root@mail ~]# yum install postfix

查看是否安装成功

[root@mail ~]#rpm -qa | grep postfix
postfix-2.10.1-6.2.el7_1.x86_64

编辑postfix服务的配置文件
[root@mail ~]# vim /etc/postfix/main.cf
点开后发现文件中有大量注释行,空行,为方便起见,将其进行备份,去除注释行和空行,覆盖原文件

[root@mail ~]# cp -a /etc/postfix/main.cf  /etc/postfix/main.back
[root@mail ~]# cat /etc/postfix/main.cf |grep -v ^$|grep -v ^#|grep -v " #" > /etc/postfix/a.cf
[root@mail ~]#  mv /etc/postfix/a.cf  /etc/postfix/main.cf
mv:是否覆盖"/etc/postfix/main.cf"? y

重新编辑文件

[root@mail ~]# cat /etc/postfix/main.cf     
myhostname=mail.smy.com                      //邮局系统的主机名
mydomain = smy.com                           //邮局系统的域名,用来保存邮件域的名称
myorigin = $mydomain                          //从本机发出邮件的域名名称  
inet_interfaces = 192.168.29.15               //监听的网卡接口可以选择all所有IP
mydestination = $myhostname , $mydomain
inet_protocols = all

创建电子邮件系统的登录账户

[root@mail ~]# useradd smy1
[root@mail ~]# echo "smy@123" | passwd --stdin smy1
更改用户 smy1的密码 。
passwd:所有的身份验证令牌已经成功更新。

重启服务

[root@mail ~]# systemctl restart postfix
[root@mail ~]# systemctl enable postfix

4、配置Dovecot服务程序

安装Dovecot服务程序软件包

[root@mail ~]#  yum install dovecot

配置部署Dovecot服务程序(/etc/dovecot/dovecot.conf)
删掉前面的#即可取消注释

 [root@mail ~]# vim /etc/dovecot/dovecot.conf
  protocols = imap pop3 lmtp     //电子邮件协议修改为imap、pop3和lmtp
  disable_plaintext_auth = no     //允许用户使用明文进行密码验证
  #login_trusted_networks =       //只允许某些网络访问,注释掉就所有网络都可访问

配置邮件格式与存储路径(第24行开始)

[root@mail ~]# vim /etc/dovecot/conf.d/10-mail.conf
 
 
#  mail_location = maildir:~/Maildir
   mail_location = mbox:~/mail:INBOX=/var/mail/%u       //用于指定要将收到的邮件存放到服务器本地的哪个位置
 #   mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n


切换到配置Postfix服务程序时创建的boss账户,并在家目录中建立用于保存邮件的目录。记得要重启Dovecot服务并将其添加到开机启动项中。

[root@mail ~]# su - smy1
[boss@mail ~]$ mkdir -p mail/.imap/INBOX
[boss@mail ~]$ exit
登出
[root@mail ~]# systemctl restart dovecot 
[root@mail ~]# systemctl enable dovecot 
Created symlink from /etc/systemd/system/multi-user.target.wants/dovecot.servic

四、客户端使用电子邮件系统

客户端主机网络设置
在这里插入图片描述
配置电子邮箱账户
在这里插入图片描述
选择pop
在这里插入图片描述
在这里插入图片描述
之后就创建成功啦
可以尝试发邮件,看是否能收到
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值