linux邮件系统之Postfix与Dovecot

linux邮件系统之Postfix

邮件系统介绍

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

1.简单邮件传输协议(Simple Mail Transfer Protocol,SMTP):用于发送和中转发出的电子邮件,占用服务器的25/TCP端口
2.邮局协议版本3(Post Office Protocol 3,POP3):用于将电子邮件存储到本地主机,占用服务器的110/TCP端口
3.Internet消息访问协议版本4(Internet Message Access Protocol 4,IMAP4):用于在本地主机*问邮件,占用服务器的143/TCP端口

MUA(Mail User Agent):邮件用户代理,用户收发邮件的服务器
MDA(Mail Delivery Agent):邮件投递代理,保存用户邮件的“信箱”服务器,其工作职责是把来自于MTA(Mail Transfer Agent)邮件传输代理的邮件保存到本地的收件箱中
linux邮件系统之Postfix与Dovecot

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

最基础的电子邮件系统:提供发件服务和收件服务
提供发件服务功能:基于SMTP协议的Postfix服务程序
提供收件服务功能:基于POP3协议的Dovecot服务程序

用户可以使用Outlook Express或Foxmail等客户端服务程序正常收发邮件

早期的Linux系统中,默认的发件服务是由Sendmail服务程序提供
RHEL 8系统中为Postfix服务程序

linux邮件系统之Postfix与Dovecot


部署前提

检验电子邮件系统配置效果,要先部署bind服务程序,为电子邮件服务器和客户端提供DNS域名解析服务

信箱地址格式:用户名@主机地址(域名)


服务器

1.配置主机名称

[root@xiudaochengxian ~]# vim /etc/hostname 
  1 mail.xiuxian.com
[root@mail ~]# hostname
mail.xiuxian.com

2.清空防火墙

[root@mail ~]# iptables -F

3.安装DNS服务

[root@mail ~]# yum -y install bind-chroot
Complete!

4.编辑DNS主配置文件

[root@mail ~]# vim /etc/named.conf 
 13         listen-on port 53 { any; };
 14         listen-on-v6 port 53 { ::1; };
 15         directory       "/var/named";
 16         dump-file       "/var/named/data/cache_dump.db";
 17         statistics-file "/var/named/data/named_stats.txt";
 18         memstatistics-file "/var/named/data/named_mem_stats.txt";
 19         allow-query     { any; };

5.编辑DNS区域配置文件

[root@mail ~]# vim /etc/named.rfc1912.zones 
  1 zone "xiuxian.com" IN {
  2 type master;
  3 file "xiuxian.com.zone";
  4 allow-update {none;};
  5 };

6.编辑正向解析文件

[root@mail ~]# cd /var/named/
[root@mail named]# ls
chroot  dynamic   named.empty      named.loopback
data    named.ca  named.localhost  slaves
[root@mail named]# cp -a named.localhost xiuxian.com.zone
[root@mail named]# vim xiuxian.com.zone 
  1 $TTL 1D
  2 @       IN SOA  xiuxian.com. root.xiuxian.com. (
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8         NS      ns.xiuxian.com.
  9 ns      IN A    192.168.43.23
 10 @       IN MX 10 mail.xiuxian.com.
 11 mail    IN A    192.168.43.23

7.重启DNS服务并加入开机启动项

[root@mail named]# systemctl restart named
[root@mail named]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.

8.ping服务器(ping通,则配置成功)

[root@mail named]# ping -c4 192.168.43.23
PING 192.168.43.23 (192.168.43.23) 56(84) bytes of data.
64 bytes from 192.168.43.23: icmp_seq=1 ttl=64 time=0.199 ms
64 bytes from 192.168.43.23: icmp_seq=2 ttl=64 time=0.106 ms
64 bytes from 192.168.43.23: icmp_seq=3 ttl=64 time=0.075 ms
64 bytes from 192.168.43.23: icmp_seq=4 ttl=64 time=0.077 ms

--- 192.168.43.23 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 0.075/0.114/0.199/0.051 ms

邮件系统部署-Postfix


1.部署Postfix服务
 默认已经安装

[root@mail named]# yum -y install postfix
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Package 2:postfix-2.10.1-6.el7.x86_64 already installed and latest version
Nothing to do

2.编辑postfix主配置文件

[root@mail named]# vim /etc/postfix/main.cf 
 75 myhostname = mail.xiuxian.com		#主机名
 83 mydomain = xiuxian.com				#域名
 99 myorigin = $mydomain				#从本机发出邮件的域名名称
116 inet_interfaces = all				#提供服务的网卡(所有)
164 mydestination = $myhostname, $mydomain	#可接收邮件的主机名或域名

3.重启postfix服务并加入开机启动项

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

4.创建邮件系统登录用户

[root@mail named]# useradd shuaige

5.给用户设置密码

[root@mail named]# passwd shuaige 
Changing password for user shuaige.
New password: 								#密码设置为123456
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

邮件系统部署-Dovecot


1.安装Dovecot

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

2.编辑dovecot主配置文件

[root@mail ~]# vim /etc/dovecot/dovecot.conf 
 23 # Protocols we want to be serving.
 24 protocols = imap pop3 lmtp	#允许的协议
 25 disable_plaintext_auth = no	#允许用户使用明文密码验证
 48 login_trusted_networks = 192.168.43.0/24	#限制某个网段用户使用服务,如果允许所有人使用,不修改参数

3.编辑dovecot子配置文件

[root@mail ~]# vim /etc/dovecot/conf.d/10-mail.conf 
#指定收到的邮件存放到服务器本地的位置,默认定义完毕
 25    mail_location = mbox:~/mail:INBOX=/var/mail/%u	

4.切换用户

[root@mail ~]# su - shuaige

5.新建用于保存邮件的目录(.imap是隐藏目录)

[shuaige@mail ~]$ mkdir -p mail/.imap/INBOX
[shuaige@mail ~]$ logout

6.重启dovecot服务并加入开机启动项

[root@mail ~]# systemctl restart dovecot
[root@mail ~]# systemctl enable dovecot
Created symlink from /etc/systemd/system/multi-user.target.wants/dovecot.service to /usr/lib/systemd/system/dovecot.service.

7.设置防火墙策略(放行邮件协议)

[root@mail ~]# firewall-cmd --permanent --zone=public --add-service=imap
success
[root@mail ~]# firewall-cmd --permanent --zone=public --add-service=pop3
success
[root@mail ~]# firewall-cmd --permanent --zone=public --add-service=smtp
success
[root@mail ~]# firewall-cmd --reload 
success

邮件的别名


1.编辑别名

[root@xiudaochengxian ~]# vim /etc/aliases
 10 # Basic system aliases -- these MUST be present.
 11 mailer-daemon:  postmaster
 12 postmaster:     root
 13 shuaige:        root

2.保存别名

[root@xiudaochengxian ~]# newaliases

3.重启postfix服务

[root@xiudaochengxian ~]# systemctl restart postfix

4.重启dovecot服务

[root@xiudaochengxian ~]# systemctl restart dovecot

5.查看邮件

[root@xiudaochengxian ~]# mail

检测

客户端

window系统

使用outlook
linux邮件系统之Postfix与Dovecot
当使用Outlook软件成功发送邮件后,便可以在电子邮件服务器上查看到新邮件提醒了
在RHEL 8系统中查看邮件的命令是mailx,需要自行安装(输出信息省略)
要想查看邮件的完整内容,只需输入收件人姓名前面的编号即可

[root@xiudaochengxian ~]# yum -y  install mailx
[root@xiudaochengxian ~]# mailx
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/root": 1 message 1 new

linux系统

Linux系统下的可选邮件客户端有数十种,如Thunderbird、Evolution、Gear、Elementary Mail、KMail、Mailspring、Sylpheed、Claws Mail等

Thunderbird是一款由FireFox火狐浏览器的母公司Mozilla基金会发布的电子邮件客户端,兼具FireFox浏览器的各种优势,实现跨平台支持,拥有各种插件和丰富功能,简单的操作让用户更容易轻松地上手


1.安装thunderbird

[root@xiudaochengxian ~]# yum -y install thunderbird

2.运行thunderbird

[root@xiudaochengxian ~]# thunderbird

linux邮件系统之Postfix与Dovecot

3.在初次进入Thunderbird客户端界面时,会要求用户填写邮件账户的名称、地址和密码
账户不一定要与系统中的账户名称相同,可以理解成是邮件发送人的昵称,密码则是系统中账户的密码,然后单击Continue按钮

4.由于当前没有设置SSL邮局加密,因此在手动配置模式中,需要将SSL选项更改为None,并将Authentication设置为Normal password

5.出于安全方面的考虑,Thunderbird客户端会提示警告信息。选中understand the risks复选框,然后单击Done按钮即可
linux邮件系统之Postfix与Dovecot

上一篇:shell 生成文件统计信息


下一篇:面试官:什么是对象池?有什么用?别说你还不会!