目录
一、邮件收发原理
1、原理图及名词解释
2、MTA功能介绍
3、POP和IMAP获取邮件介绍
二、部署postfix邮件系统
1、环境准备
2、DNS服务器部署
3、部署Postfix
4、部署Dovecot
三、使用Foxmail测试
1、修改DNS服务器
2、Foxmail登录测试账户
3、发送测试邮件
4、 服务端查看邮件
MUA(Mail User Agent):邮件用户代理,例如常见的Foxmail、网易客户端等。
MTA(Mail Transfer Agent):英特网邮件传输代理,转发来自MUA的信件给指定的用户的程序。
MX(Mail Exchanger):DNS中的邮件交换记录指向一个邮件服务器。
POP(Post Office Protocol):邮局协议,即用户从SMTP存储中将邮件下载到本地。
IMAP(Internet Mail Access Protocol):邮件访问协议,用户在线在SMTP存储中查看邮件等信息。
sent/receive:表示发送和收件的用户
①邮件传输:MTA邮件服务器负责接收、传输和投递电子邮件。
②邮件路由:MTA邮件服务器通过设置邮件传输规则和路由策略,将电子邮件从发送方传递到接收方。
③邮件排队和重试:MTA邮件服务器会将电子邮件放入队列中进行排队,以便在传输过程中遇到问题时重新尝试投递。
④邮件安全:MTA邮件服务器可以应用各种邮件安全机制,如加密、验证和防垃圾邮件(SPAM)过滤等。它可以使用加密协议(如TLS/SSL)来保护邮件的传输安全性。
⑤邮件管理和监控:MTA邮件服务器提供管理和监控功能,使管理员能够监视邮件传输状态、调整服务器配置和策略,管理用户帐户和邮件存储等。管理员可以跟踪邮件传递的流程,检查错误日志和排查故障,确保邮件系统的正常运行。
①邮件存储位置:使用POP时邮件通常会从邮件服务器上下载到本地并在服务器上删除、而使用IMAP时邮件保留在服务器上本地设备只保留邮件的副本。
②邮件同步:由于POP将邮件下载到本地所以设备查看时不会同步状态(已读/未读)、IMAP可以与服务器保持同步,无论那个设备上查看邮件都会同步状态。
③邮件使用:POP下载到本地后无需网络即可查看邮件、IMAP需要网络连接访问服务器上的邮件。
④邮件管理:POP管理邮件的功能相对较少、IMAP可以在服务器创建删除移动文件夹管理邮件。
主机名 | 操作系统 | IP地址 | 安装程序 | 作用 |
mail-server | centos7.6 | 192.168.30.20 | named、postfix、dovecot | DNS服务器及邮件服务器 |
windows10 | windows10 | 192.168.30.200 | Foxmail客户端 | 测试邮件功能 |
mail-server执行:
hostnamectl set-hostname mail-server
#修改主机名
systemctl stop firewalld
setenforce 0
iptables -F
#关闭firewalld、selinux清空iptables规则
yum install bind -y
#安装bind服务器提供DNS服务
vim /etc/name.conf
options{
listen-on port 53 { any; };
....
allow-query { any; };
}
#修改DNS服务器配置文件,地址为any和修改允许所有人查询,修改内容如上保存退出
vim /etc/name.named.rfc1912.zones
zone "lhj.com" IN {
type master;
file "lhj.com.zone";
allow-update { none; };
};
#修改区域配置文件,在末尾添加以上内容。lhj.com为域名,lhj.com.zone为指定的域名数据文件
cd /var/named/
cp -a name.localhost lhj.com.zone
#拷贝域名数据文件模板并命名为区域配置文件指定的名称进行修改
vim lhj.com.zone
$TTL 1D
@ IN SOA lhj.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.lhj.com.
ns IN A 192.168.30.20
@ IN MX 10 mail.lhj.com.
mail IN A 192.168.30.20
www IN A 192.168.30.102
A 127.0.0.1
AAAA ::1
#修改内容如上,mail地址指向postfixip地址、MX指向postfix域名、www测试地址
systemctl restart named
#重启named服务
vim /etc/resolv.conf
#添加本机DNS服务器地址到resolv.conf文件首行
nameserver 192.168.30.20
nslookup mail.lhj.com
#测试解析mail.lhj.com域名地址是否为192.168.30.20搭建DNS服务器完成
mail-server执行:
yum -y install postfix
#安装postfix服务
vim /etc/postfix/main.cf
#编辑主配置文件搜索关键字修改以下内容
myhostname = mail.lhj.com
#用来保存服务器的主机名称
mydomain = lhj.com
#用来保存邮件域的名称
myorigin = $mydomain
#定义发出邮件的域
inet_interfaces = all
#定义网卡监听地址
mydestination = $myhostname, $mydomain
#定义可接收邮件的主机名或域名列表
systemctl restart postfix
#重启postfix服务器使得配置生效
useradd test1
useradd test2
echo "123456" | passwd --stdin test1
echo "123456" | passwd --stdin test2
#创建2个测试用户并设置密码为123456
mail-server执行:
dovecot:开源的pop、imap邮件服务器
yum -y install dovecot
#安装 Dovecot 服务程序软件包
vim /etc/dovecot/dovecot.conf
#修改dovecot主配置文件
protocols = imap pop3 lmtp
#支持的协议包括:imap pop3 lmtp三种
disable_plaintext_auth = no
#关闭认证
vim /etc/dovecot/conf.d/10-mail.conf
#配置邮件格式及存储位置
mail_location = mbox:~/mail:INBOX=/var/mail/%u
#此行去掉注释,存储位置为用户家目录下home/test2/mail/.imap/INBOX下为日志和cache,以及/var/mail/用户名下为邮件内容
mkdir -p /home/test1/mail/.imap/INBOX
mkdir -p /home/test2/mail/.imap/INBOX
#为test1和test2用户创建保存邮件的目录
修改windows的DNS为本次部署的DNS服务器地址即192.168.30.20