阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7.5 部署postfix邮件系统

162次阅读
没有评论

共计 4517 个字符,预计需要花费 12 分钟才能阅读完成。

1. Postfix

1.1 邮件服务的介绍

电子邮件是—种用电子手段提供信息交换的通信方式,是互联网应用最广的服务。通过网络的电子邮件系统,用户可以以非常低廉的价格(不管发送到哪里,都只需负担网费)、非常快速的方式(几秒钟之内可以发送到世界上任何指定的目的地),与世界上任何一个角落的网络用户联系。

电子邮件可以是文字、图像、声音等多种形式。同时,用户可以得到大量免费的新闻、专题邮件,并实现轻松的信息搜索。电子邮件的存在极大地方便了人与人之间的沟通与交流,促进了社会的发展。

什么是电子邮件系统

电子邮件系统是一种能够书写、发送、存储和接收信件的电子通信系统

邮件系统由两部分组成

MTA(邮件传输代理)

MUA(邮件用户代理)

1.2 电子邮件收发的过程

CentOS 7.5 部署 postfix 邮件系统

1.3 邮件传输过程

(1)客户机调用用户代理来编辑要发送的邮件。用户代理用 SMTP 将邮件传送给发送端邮件服务器

(2)发送端邮件服务器将邮件放入邮件缓存队列中,等待发送。

(3)SMTP 按照 C / S 方式工作。运行在发送端邮件服务器的 SMTP 客户进程,发现在邮件缓存中有待发送的邮件,就向运行在接收端邮件服务器的 SMTP 服务器进程发起 TCP 连接的建立

(4)当 TCP 连接建立后,SMTP 客户进程开始向远程的 SMTP 服务器发送邮件。如果有多个邮件在邮件缓存中,则 SMTP 客户一一将它们发送到远程的 SMTP 服务器。当所有的待发送邮件发完了,SMTP 就关闭所建立的 TCP 连接

(5)运行在接收端邮件服务器中的 SMTP 服务器进程收到邮件后,将邮件放入收信人的用户邮箱中,等待收信人在他方便时进行读取

(6)收信人调用用户代理,使用 POP3(或 IMAP)协议将自己的邮件从接收端邮件服务器的用户邮箱中取回

1.4 电子邮件的协议

1. SMTP(Simple Mail Transfer Protocol,简单邮件传输协议),是电子邮件的发送方向接收方传递邮件时使用的单向传输协议,默认使用 TCP 端口为 25。配置了 SMTP 协议的电子邮件服务器称为 SMTP 服务器。SMTP 服务器接收客户机发送的电子邮件,向其他的 SMTP 服务器发送电子邮件,但不能从别的 SMTP 服务器接收电子邮件

2. POP3(Post Office Protocol Version 3,邮局协议,版本 3),是电子邮件接收方向电子邮局发出接收邮件请求时使用的单向传输协议,默认使用 TCP 端口为 110。配置了 POP3 协议的电子邮件服务器称为 POP3 服务器。POP3 服务器将电子邮件发送给客户机或者从别的 POP3 服务器接收电子邮件,但不能向别的 POP3 邮件服务器发送电子邮件

1.5 Postfix 的介绍

Postfix 是一种电子邮件服务器,它是由任职于 IBM 华生研究中心(T.J. Watson Research Center)的荷兰籍研究员 Wietse Venema 为了改良 sendmail 邮件服务器而产生的。

postfix 由十几个具有不同功能的半驻留进程组成,并且在这些进程中并无特定的进程间父子关系。某一个特定的进程可以为其他进程提供特定的服务。

大多数的 postfix 进程由一个进程统一进行管理,该进程负责在需要的时候调用其他进程,这个管理进程就是 master 进程。该进程也是一个后台程序。

这些 postfix 进程是可以配置的,我们可以配置每个进程运行的数目,可重用的次数,生存的时间等等。通过灵活的配置特性可以使整个系统的运行成本大大降低。

1.6 Postfix 特点

1、postfix 是免费的;

2、性能好,大约比 sendmail×××倍,一台运行 postfix 的台式 pc 每天可收发上百万邮件;

3、兼容 sendmail

4、健壮稳定,postfix 被设计成在重负荷之下仍然可以正常工作。当系统运行超出了可用的内存或磁盘空间时,postfix 会自动减少运行进程的数目。当处理的邮件数目增长时,postfix 运行的进程不会跟着增加;

5、灵活性好,postfix 是由超过一打的小程序组成的,每个程序完成特定的功能。你可以通过配置文件设置每个程序的运行参数。

6、安全性,postfix 具有多层防御结构,可以有效地抵御恶意者,可以运行在较低的权限之下;

1.7 部署 Postfix

1.7.1 环境准备

OS 版本:CentOS 7.5 64bit

mail-server ip :192.168.1.242

mial-client ip :192.168.1.200

[root@mail-server ~]# cat /etc/RedHat-release #查看系统版本

CentOS 7.5 部署 postfix 邮件系统 

[root@mail-server ~]# uname -r #查看内核版本

CentOS 7.5 部署 postfix 邮件系统 

[root@mail-server ~]# systemctl stop ebtables firewalld #关闭 ebtables 防火墙

[root@mail-server ~]# systemctl disable ebtables firewalld #重启不启动 ebtables firewall 防火墙

CentOS 7.5 部署 postfix 邮件系统 

 

[root@mail-server ~]# vim /etc/sysconfig/selinux #设置 selinux 状态为 disabled

  CentOS 7.5 部署 postfix 邮件系统 

[root@mail-server ~]# setenforce 0 # 临时将 selinux 设置为 disabled

  CentOS 7.5 部署 postfix 邮件系统 

[root@mail-server ~]# getenforce #检测 selinux 是否关闭

  CentOS 7.5 部署 postfix 邮件系统 

[root@mail-server ~]# ifconfig ens33 |awk -F ‘[:]+’ ‘NR==2{print $3}’ #查看 IP 地址

  CentOS 7.5 部署 postfix 邮件系统 

[root@mail-server ~]# hostname #查看主机名

  CentOS 7.5 部署 postfix 邮件系统 

1.7.2 配置 DNS 解析

1. 安装 bind 服务

[root@mail-server ~]# yum -y install bind

CentOS 7.5 部署 postfix 邮件系统 

2. 编辑 bing 的主配置文件

[root@mail-server ~]# vim /etc/named.conf

CentOS 7.5 部署 postfix 邮件系统 

[root@mail-server ~]# vim /etc/named.rfc1912.zones

CentOS 7.5 部署 postfix 邮件系统 

3. 添加 mail 邮件解析记录

[root@mail-server ~]# vim /var/named/vancen.com.zone

CentOS 7.5 部署 postfix 邮件系统 

4. 重启 DNS 服务

[root@mail-server ~]# systemctl restart named

[root@mail-server ~]# systemctl enable named

[root@mail-server ~]# systemctl status named

CentOS 7.5 部署 postfix 邮件系统 

1.7.3 配置 Postfix 服务程序

1. 安装 postfix 软件

[root@mail-server ~]# yum -y install postfix

CentOS 7.5 部署 postfix 邮件系统 

2. 修改配置文件

[root@mail-server ~]# vim /etc/postfix/main.cf

76 myhostname = mail.vancen.com

83 mydomain = vancen.com

99 myorigin = $mydomain

116 inet_interfaces = all

164 mydestination = $myhostname , $mydomain

CentOS 7.5 部署 postfix 邮件系统

CentOS 7.5 部署 postfix 邮件系统

CentOS 7.5 部署 postfix 邮件系统

CentOS 7.5 部署 postfix 邮件系统

CentOS 7.5 部署 postfix 邮件系统

3. 重启服务

[root@mail-server ~]# systemctl restart postfix

[root@mail-server ~]# systemctl enable postfix

[root@mail-server ~]# systemctl status postfix

CentOS 7.5 部署 postfix 邮件系统 

4. 创建邮件账户

Postfix 可以调用本地系统的账户和密码,因此在本地系统创建常规账户即可。

[root@mail-server ~]# useradd chenjf

[root@mail-server ~]# echo “chenjf” | passwd –stdin chenjf

CentOS 7.5 部署 postfix 邮件系统 

1.7.4 配置 Dovecot 服务程序

1. 安装 Dovecot 服务程序软件包。

[root@mail-server ~]# yum -y install dovecot

CentOS 7.5 部署 postfix 邮件系统 

2. 配置部署 Dovecot 服务程序。

[root@mail-server ~]# vim /etc/dovecot/dovecot.conf

CentOS 7.5 部署 postfix 邮件系统 

在 Dovecot 服务程序的主配置文件中进行如下修改。首先是第 24 行,把 Dovecot 服务程序支持的电子邮件协议修改为 imap、pop3 和 lmtp。然后在这一行下面添加一行参数,允许用户使用明文进行密码验证。之所以这样操作,是因为 Dovecot 服务程序为了保证电子邮件系统的安全而默认强制用户使用加密方式进行登录,而由于当前还没有加密系统,因此需要添加该参数来允许用户的明文登录。

在主配置文件中的第 46 行,设置允许登录的网段地址,也就是说我们可以在这里限制只有来自于某个网段的用户才能使用电子邮件系统。如果想允许所有人都能使用,则不用修改本参数:此处我就仅允许我同一网段的使用。

CentOS 7.5 部署 postfix 邮件系统 

3. 配置邮件格式与存储路径。

在 Dovecot 服务程序单独的子配置文件中,定义一个路径,用于指定要将收到的邮件存放到服务器本地的哪个位置。这个路径默认已经定义好了,我们只需要将该配置文件中第 25 行前面的井号(#)删除即可。

CentOS 7.5 部署 postfix 邮件系统 

切换到配置 Postfix 服务程序时创建的 chenfj 账户,并在家目录中建立用于保存邮件的目录。至此,对 Dovecot 服务程序的配置部署步骤全部结束。

CentOS 7.5 部署 postfix 邮件系统 

4. 重启 Dovecot 服务并将其添加到开机启动项中。

[root@mail-server ~]# systemctl restart dovecot

[root@mail-server ~]# systemctl enable dovecot

CentOS 7.5 部署 postfix 邮件系统 

1.7.5 客户端验证

1. 修改客户端 DNS 解析地址

CentOS 7.5 部署 postfix 邮件系统 

2. 打开 postfix 使用 chenjf@vancen.com 登录

CentOS 7.5 部署 postfix 邮件系统 

3. 设置接收服务器类型为 POP3

CentOS 7.5 部署 postfix 邮件系统 

4. 新建账户创建成功

CentOS 7.5 部署 postfix 邮件系统 

5. 给 root 发送一封邮件

CentOS 7.5 部署 postfix 邮件系统 

6. 邮件发送成功

CentOS 7.5 部署 postfix 邮件系统 

7. 在 mail-server 服务器上查看是否收到邮件

CentOS 7.5 部署 postfix 邮件系统 

1.7.6 设置用户别名邮箱

用户别名功能是一项简单实用的邮件账户伪装技术,可以用来设置多个虚拟信箱的账户以接受发送的邮件,从而保证自身的邮件地址不被泄露,还可以用来接收自己的多个信箱中的邮件。

1. 在客户端给 bin 发送一封邮件

CentOS 7.5 部署 postfix 邮件系统 

2. 切换 bin 用户查看邮件,

CentOS 7.5 部署 postfix 邮件系统 

切换用户被拒绝,因为 bin 账户在 Linux 系统中是系统账户,默认的 Shell 终端是 /sbin/nologin,因此在以 bin 账户登录时,系统会提示当前账户不可用。

3. 使用在 mail-server 服务器上使用 mail 命令查看 root 室友收到邮件

CentOS 7.5 部署 postfix 邮件系统 

aliases 邮件别名服务的配置文件是专门用来定义用户别名与邮件接收人的映射。除了使用本地系统中系统账户的名称外,我们还可以自行定义一些别名来接收邮件。例如,创建一个名为 happy 的账户,而真正接收该账户邮件的应该是 root 账户。

4. 在别名的配置文件中添加一行 happy: root

CentOS 7.5 部署 postfix 邮件系统 

5. 使用 newaliases 命令,其目的是让新的用户别名配置文件立即生效。

CentOS 7.5 部署 postfix 邮件系统 

6. 在给 happy 发送一封邮件

CentOS 7.5 部署 postfix 邮件系统 

7. 在 mail-servre 服务器上查看是否收到邮件。

CentOS 7.5 部署 postfix 邮件系统 

收到了邮件证明用户别名设置无误。

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4517字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中