linux部署基本邮件系统

使用Postfix与Dovecot部署邮件系统

简介:

	1. 部署DNS域名解析服务,提供邮件域名解析服务

	2. 部署Postfix发信服务程序

	3. 部署Dovecot收信服务程序

	4. 测试部署的邮件系统

邮件的历史

电子邮件系统基于邮件协议来完成电子邮件的传输,常见的邮件协议有下面这些。

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

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

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

在电子邮件系统中,为用户收发邮件的服务器名为邮件用户代理(Mail User Agent,MUA)。另外,既然电子邮件系统能够让用户在离线的情况下依然可以完成数据的接收,肯定得有一个用于保存用户邮件的“信箱”服务器,这个服务器的名字为邮件投递代理(Mail Delivery Agent,MDA),其工作职责是把来自于邮件传输代理(Mail Transfer Agent,MTA)的邮件保存到本地的收件箱中。其中,这个MTA的工作职责是转发处理不同电子邮件服务供应商之间的邮件,把来自于MUA的邮件转发到合适的MTA服务器。例如,我们从新浪信箱向谷歌信箱发送一封电子邮件,这封电子邮件的传输过程如图所示。


linux部署基本邮件系统_第1张图片

现在我们回到电子邮件,假设我们自己的电子邮件地址是[email protected],对方的电子邮件地址是[email protected](注意地址都是虚构的哈),现在我们用Outlook或者Foxmail之类的软件写好邮件,填上对方的Email地址,点“发送”,电子邮件就发出去了。这些电子邮件软件被称为MUA:Mail User Agent——邮件用户代理。

Email从MUA发出去,不是直接到达对方电脑,而是发到MTA:Mail Transfer Agent——邮件传输代理,就是那些Email服务提供商,比如网易、新浪等等。由于我们自己的电子邮件是163.com,所以,Email首先被投递到网易提供的MTA,再由网易的MTA发到对方服务商,也就是新浪的MTA。这个过程中间可能还会经过别的MTA,但是我们不关心具体路线,我们只关心速度。

Email到达新浪的MTA后,由于对方使用的是@sina.com的邮箱,因此,新浪的MTA会把Email投递到邮件的最终目的地MDA:Mail Delivery Agent——邮件投递代理。Email到达MDA后,就静静地躺在新浪的某个服务器上,存放在某个文件或特殊的数据库里,我们将这个长期保存邮件的地方称之为电子邮箱。

同普通邮件类似,Email不会直接到达对方的电脑,因为对方电脑不一定开机,开机也不一定联网。对方要取到邮件,必须通过MUA从MDA上把邮件取到自己的电脑上。

所以,一封电子邮件的旅程就是:

发件人 -> MUA -> MTA -> MTA -> 若干个MTA -> MDA <- MUA <- 收件人

电子邮件系统

一个最基础的电子邮件系统肯定要能提供发件服务和收件服务,为此需要使用基于SMTP协议的Postfix服务程序提供发件服务功能,并使用基于POP3协议的Dovecot服务程序提供收件服务功能。这样一来,用户就可以使用Outlook Express或Foxmail等客户端服务程序正常收发邮件了。电子邮件系统的工作流程如图所示。


linux部署基本邮件系统_第2张图片

一、部署DNS域名解析服务,提供邮件域名解析服务

简述:

在RHEL 5、RHEL 6以及诸多早期的Linux系统中,默认使用的发件服务是由Sendmail服务程序提供的,而在RHEL 7系统中已经替换为Postfix服务程序。相较于Sendmail服务程序,Postfix服务程序减少了很多不必要的配置步骤,而且在稳定性、并发性方面也有很大改进。

一般而言,我们的信箱地址类似于“[email protected]”这样,也就是按照“用户名@主机地址(域名)”格式来规范的。如果您给我一串“[email protected]”的信息,我可能猜不到这是一个信箱地址,没准会将它当作SSH协议的连接信息。因此,要想更好地检验电子邮件系统的配置效果,需要先部署bind服务程序,为电子邮件服务器和客户端提供DNS域名解析服务。

  • 基本过程:

      - 1. 修改本地主机名称  vim /etc/hostname
    
      - 2. 安装域名解析服务程序bind-chroot  yum install -y bind-chroot
    
      - 3. 编辑named服务主配置文件 /etc/named.conf
    
      - 4. 编辑named服务子配置文件 /etc/named.rfc1912.zones
    
      - 5. 编辑named服务域名解析文件 /var/named/linux.com.zone(自建)
    
      - 6. 重启named服务,并加入开机启动 systemctl restart/enable named
    
      - 7. 设置防火墙iPtables 或firewall-cmd
    
1. 修改本地主机名称 vim /etc/hostname


在这里插入图片描述

2. 安装域名解析服务程序bind-chroot yum install -y bind-chroot


在这里插入图片描述

3. 编辑named服务主配置文件 /etc/named.conf


linux部署基本邮件系统_第3张图片

4. 编辑named服务子配置文件 /etc/named.rfc1912.zones


linux部署基本邮件系统_第4张图片

5. 编辑named服务域名解析文件 /var/named/linux.com.zone(自建)


linux部署基本邮件系统_第5张图片

6. 重启named服务,并加入开机启动 systemctl restart/enable named


linux部署基本邮件系统_第6张图片


linux部署基本邮件系统_第7张图片

7. 设置防火墙iPtables 或firewall-cmd


在这里插入图片描述

二、部署Postfix发信服务程序

  • 基本过程:

      - 1. 安装Postfix服务程序 yum install -y postfix
    
      - 2. 编辑Postfix服务程序主配置文件 vim /etc/postfix/main.cf
    
      - 3. 重启postfix服务,并加入开机启动 systemctl restart/enable postfix
    
      - 4. 设置防火墙iPtables 或firewall-cmd
    
1. 安装Postfix服务程序 yum install -y postfix ; 编辑Postfix服务程序主配置文件 vim /etc/postfix/main.cf
  • 在第76行定义一个名为myhostname的变量,用来保存服务器的主机名称,

  • 在第83行定义一个名为mydomain的变量,用来保存邮件域的名称


linux部署基本邮件系统_第8张图片

  • 在第99行调用前面的mydomain变量,用来定义发出邮件的域。调用变量的好处是避免重复写入信息,以及便于日后统一修改,在第116行定义网卡监听地址。


linux部署基本邮件系统_第9张图片

  • 可以指定要使用服务器的哪些IP地址对外提供电子邮件服务;也可以干脆写成all,代表所有IP地址都能提供电子邮件服务


linux部署基本邮件系统_第10张图片

  • 在第164行定义可接收邮件的主机名或域名列表。这里可以直接调用前面定义好的myhostname和mydomain变量(如果不想调用变量,也可以直接调用变量中的值)


在这里插入图片描述

2. 重启postfix服务,并加入开机启动 systemctl restart/enable postfix


linux部署基本邮件系统_第11张图片

3. 设置防火墙iPtables 或firewall-cmd


在这里插入图片描述

三、部署Dovecot服务程序

  • 基本过程:

      - 1. 安装Dovecot服务程序 yum install -y dovecot
    
      - 2. 编辑Dovecot服务程序主配置文件 vim /etc/postfix/main.cf
    
      - 3. 重启Dovecot服务,并加入开机启动 systemctl restart/enable dovecot
    
      - 4. 设置防火墙iPtables 或firewall-cmd
    
- 1. 安装Dovecot服务程序 yum install -y dovecot


在这里插入图片描述

- 2. 编辑Dovecot服务程序主配置文件 vim /etc/dovecot/dovecot.conf


在这里插入图片描述

设置允许登录的网段


在这里插入图片描述

设置收取邮件保存目录


linux部署基本邮件系统_第12张图片

- 3. 重启Dovecot服务,并加入开机启动 systemctl restart/enable dovecot

添加测试用户,切换到测试用户家目录创建隐藏目录,重启Dovecot服务,并加入开机启动


linux部署基本邮件系统_第13张图片

- 4. 设置防火墙iPtables 或firewall-cmd


在这里插入图片描述

四、测试部署的邮件系统

客户端网卡设置


linux部署基本邮件系统_第14张图片

服务端接收到的邮件


linux部署基本邮件系统_第15张图片

使用Foxmail客户端测试邮件系统,Foxmail客户端设置


linux部署基本邮件系统_第16张图片

使用office 2007 Outlook 邮件客户端测试

linux部署基本邮件系统_第17张图片

使用office 2007 Outlook 邮件客户端测试


linux部署基本邮件系统_第18张图片
###注: Postfix服务程序主配置文件中的重要参数

注:本文是通过学习《Linux就该这么学》总结写出来的,欢迎相互讨论学习!

你可能感兴趣的:(Linux运维基础,DNS,域名解析,邮件服务)