服务简介

postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试。在Internet世界中,大部分的电子邮件都是通过sendmail来投递的,大约有100万用户使用sendmail,每天投递上亿封邮件。这真是一个让人吃惊的数字。Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性。

邮件服务器也采用的是C/S工作模式,通过SMTP,POP,IMAP协议来是实现邮件的发送和接收的。

SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。 SMTP 认证,简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP(postfix) 服务器,这就使得那些垃圾邮件的散播者无可乘之机。 增加 SMTP 认证的目的是为了使用户避免受到垃圾邮件的侵扰。 使用的端口是25SMTP信件认证协议SMTPS,使用的端口是465

POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准, 协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上,比如通过客户端收取了邮箱中的3封邮件并移动到其他文件夹,邮箱服务器上的这些邮件是没有同时被移动的 。使用的端口是110,POP3信件认证协议POP3S,使用的端口是995

IMAP全称是Internet Mail Access Protocol,即交互式邮件存取协议,它是跟POP3类似邮件访问标准协议之一。不同的是,开启了IMAP后,您在电子邮件客户端收取的邮件仍然保留在服务器上同时在客户端上的操作都会反馈到服务器上如:删除邮件,标记已读等,服务器上的邮件也会做相应的动作。所以无论从浏览器登录邮箱或者客户端软件登录邮箱,看到的邮件以及状态都是一致的。将邮件留在服务器端直接对邮件进行管理、操作,比POP3更先进支持邮件头部预览主题来源,基于TCP/IP,使用143端口,使用的端口是110,IMAP信件认证协议IMAPS,使用的端口是993

POP3 和 IMAP 区别

1.IMAP客户端上收取邮件后邮件依旧保留在服务器上,同时在客户端上的操作也会保留在服务器端,POP3不会
2.IMAP更好的支持从多个设备中随时访问新邮件
3.IMAP提供的摘要游览功能可以让你阅读完所有的邮件到达时间、主题、发件人、大小等信息后才作初是否下载的决定。
4.pop3需要下载所有的邮件,IMAP不能将所有的邮件下载,而是通过客户端直接对服务器上的邮件进行操控。所有的IMAP
可以对数据进行加密从而保证通信安全
5.IMAP整体上为用户带来了更为便捷和可靠的的体验 ----pop3 更容易丢失邮件或者多次重复下载相同的邮件。

SASL 全称Simple Authentication and Security Layer,是一种用来扩充C/S模式验证能力的机制在 Postfix可以利用SASL来判断用户是否有权使用转发服务,或是辨认谁在使用你的服务器


案例一:mail命令的使用

安装postfix邮件发送服务包
[root@localhost ~]# yum install postfix -y
在这里插入图片描述
发送邮件需要启动服务,在关闭一下防火墙和selinux
[root@localhost ~]# systemctl restart postfix.service
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
在这里插入图片描述
添加测试邮件用户
[root@localhost ~]# useradd zhangsan
[root@localhost ~]# useradd lisi

在这里插入图片描述
测试需要mail命令,我们需要安装mailx软件包,相当于一个邮件客户端程序
[root@localhost ~]# yum install mailx -y

在这里插入图片描述
发送邮件
[root@localhost ~]# mail to zhangsan
默认是当前用户是发起者这里是root用户,to后面跟的是接受者
Subject是邮件的主题
Subject下面的是邮件的内容
.表示的结束符号,也可以用ctrl+d结束
在这里插入图片描述

切换用户,使用mail查看信件
可以看出我们默认的域是localhost.localdomain
输入信件前面的编号可以查看信件,按q表示退出
在这里插入图片描述
所以发送邮件的完整格式是:
[zhangsan@localhost ~]$ mail to lisi@localhost.localdomain
在这里插入图片描述
还可以在/var/spool/mail/用户下查看信件信息
在这里插入图片描述
非交互式地发送邮件:

[root@localhost ~]# echo "这是内容" | mail -s "邮件主题" zhangsan@localhost.localdomain
-s后面指定的是标题内容
在这里插入图片描述
[root@localhost ~]# echo -e "这是内容\n 你好张三" | mail -s "邮件主题" zhangsan@localhost.localdomain
-e后面可以跟转义字符,\n是换行
在这里插入图片描述
[root@localhost ~]# mail -s "主题" -a /root/a.txt lisi@localhost.localdomain < /root/a.txt
-a后面跟的是附件需要用到重定向符<后面跟的是发送的文件

在这里插入图片描述


案例二:邮件群发

需要更改/etc/aliases文件,默认执行的是/etc/aliases.db文件
在这里插入图片描述
更改/etc/aliases配置文件,实现群发
使用[root@localhost ~]# postalias /etc/aliases将指定文件转成.db文件

在这里插入图片描述
测试群发
[root@localhost ~]# mail to RHCE默认是本地域(@localhost.localdomain)发送,所以后面可以不用跟域信息
在这里插入图片描述


案例三:给外网邮件服务器发送邮件

一般Linux系统自带mail命令,不能使用该命令可以安装mailx服务包

需要确定我们的Linux主机可不可以访问外网,可以ping一下百度看一下ping不ping的通
在这里插入图片描述

1. 首先在/etc/mail.rc文件中添加(需要root权限):

在这里插入图片描述

怎么获取163邮箱的授权密码
在这里插入图片描述

[root@localhost ~]# echo "test" | mail -s "主题" (自己的邮箱)
注意这里只有使用非交互式发送邮件

在这里插入图片描述
在这里插入图片描述


案例四:搭建邮件服务器(单域邮件收发)

准备工作:在windo上下载一个Foxmail软件,用于后期的测试,软件下载地址:https://www.foxmail.com/

1.首先更改配置文件

#配置邮件服务器主机名
94 myhostname = mail.openlab.com
#配置域名(这个邮件服务器管理的是哪个区域范围的邮件发送)
102 mydomain = openlab.com
#指定邮件发送时的域名   (写信人)
118 myorigin = $mydomain
#指定网络接口(默认只监听本地但是如果要与外界通信那么就要监听所有地址)
132 inet_interfaces = all
#指定服务器的目标区域  设置邮件可以发送到哪些域名(收件人)
184 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#指定允许网络网段地址,设置信任的邮件客户端地址
283 mynetworks = 192.168.229.0/24

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.安装,配置dovecot服务 dovecot是一个邮件接收服务
[root@localhost ~]# yum install dovecot -y
在这里插入图片描述
编辑主配置信息/etc/dovecot/dovecot.conf
[root@localhost ~]# vim /etc/dovecot/dovecot.conf
在这里插入图片描述
在这里插入图片描述
编辑子配置文件信息/etc/dovecot/conf.d/10-mail.conf
在这里插入图片描述
3.重启服务
[root@localhost ~]# systemctl restart postfix.service
[root@localhost ~]# systemctl restart dovecot
在这里插入图片描述
4.给测试用户添加密码
[root@localhost ~]# echo redhat | passwd --stdin zhangsan
[root@localhost ~]# echo redhat | passwd --stdin lisi

在这里插入图片描述
5.更改权限chmod 600 /var/mail/*
注意:如果不执行上面这个命令,可能会出现在系统中可以收到邮件,但是客户端无法收到邮件,注意查看系统tail -f /var/log/maillog日志
在这里插入图片描述
6.在Windows上打开Foxmail进行测试

点击 其他邮箱---------->手动配置---------->输入信息---------->创建
在这里插入图片描述
在这里插入图片描述
在添加一个用户进行测试
点击 设置---------->账号管理----------->新建
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
发送邮箱,进行测试
在这里插入图片描述
在这里插入图片描述


案例五:域外互访

实验环境:两台虚拟机

在另一台虚拟机进行和上面一样的配置,注意把域信息改一下

在这里插入图片描述

在这里插入图片描述
验证一下本地域下是否能否正常发送信件
在这里插入图片描述
在这里插入图片描述
要实现双域之间的发送必须配置DNS不会配置的可以看我之前写的博客DNS服务的搭建

baidu域(百度域ip为192.168.229.130)中向openlab域发送邮件需要进行以下配置
[root@localhost ~]# vim /etc/named.conf
在这里插入图片描述
[root@localhost ~]# vim /var/named/named.openlab.com
在这里插入图片描述
[root@localhost ~]# vim /etc/resolv.conf
在这里插入图片描述
[root@localhost ~]# nslookup mail.openlab.com

在这里插入图片描述

实现openlab域向baidu域发送信件,进行配置
[root@localhost ~]# vim /etc/named.con
在这里插入图片描述
[root@localhost ~]# vim /var/named/named.baidu.com
在这里插入图片描述
openla服务器中更改DNS
[root@localhost ~]# vim /etc/resolv.conf

在这里插入图片描述
[root@localhost ~]# nslookup mail.baidu.com

在这里插入图片描述

邮箱验证
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐