准备两台虚拟机,均修改防火墙与主机名(可解析)
server0.example.com 172.25.0.11/24
desktop0.example.com 172.25.0.10/24
虚拟机server0:
# firewall-cmd --set-default-zone=trusted
# echo server0.example.com > /etc/hostname
# cat /etc/hostname
虚拟机desktop0:
# firewall-cmd --set-default-zone=trusted
# echo desktop0.example.com > /etc/hostname
# cat /etc/hostname
电子邮件服务器的基本功能
为用户提供电子邮箱存储空间(用户名@邮件域名)
处理用户发出的邮件 —— 传递给收件服务器
处理用户收到的邮件 —— 投递到邮箱
用户发邮件的协议: SMTP 端口25
用户收邮件的协议: pop3 端口110 IMAP 端口143
##########################################################################################
虚拟机server0
搭建基本邮件服务器
1. 安装postfix服务端程序
[root@server0 ~]# rpm -q postfix
postfix-2.10.1-6.el7.x86_64
2.配置postfix服务,修改配置文件
[root@server0 ~]# vim /etc/postfix/main.cf
83 mydomain = example.com #主要参数--指定域名 如该服务器的邮件就是*@example.com
116 inet_interfaces = all #主要参数--允许所有客户端
164 mydestination = example.com #主要参数--判断邮件后缀只有域名是@example.com的邮件才会被接收到
99 myorigin = example.com #默认补全的邮件后缀 不写地址发邮件会补上@example.com 不配置该参数且发邮件不写对域名@example.com 无法收到邮件
76 myhostname = server0.example.com #指定主机名 DNS可解析的邮件服务器域名
3.重起postfix服务,设置为开机自起
# systemctl restart postfix
# systemctl enable postfix
4. 测试邮件的收发
[root@server0 ~]# useradd student
[root@server0 ~]# echo 123 | passwd --stdin student
[root@server0 ~]# useradd test
[root@server0 ~]# echo 123 | passwd --stdin test
mail 发信操作
mail -s '邮件标题' -r 发件人 收件人
mail 收信操作
mail [-u 用户名]
[root@server0 ~]# mail -s 'for test' -r test student
一行中只有一个 “.” 的时候,代表结束
[root@server0 ~]# mail -u student #输入邮件编号 1 查看邮件 quit 退出
##########################################################################################
nullclient邮件服务
空客户端
nullclient,空客户端
不提供任何邮箱账号,因此不需要投递邮件
但是可以为用户代发邮件
一、配置desktop为邮件服务器
1.配置postfix服务,修改配置文件
[root@desktop0 ~]# vim /etc/postfix/main.cf
99 myorigin = desktop.example.com
116 inet_interfaces = all
164 mydestination = desktop.example.com
[root@desktop0 ~]# systemctl restart postfix
[root@desktop0 ~]# systemctl enable postfix
二、配置server为空客户端邮件服务器
[root@server0 ~]# vim /etc/postfix/main.cf
99 myorigin = desktop0.example.com
116 inet_interfaces = localhost
164 mydestination = #不写相当于不收邮件
317 relayhost = [172.25.0.10] #交给指定邮件服务器IP地址,也就是指定服务器的myhostname的地址 DNS解析出来的IP地址
[root@server ~]# systemctl restart postfix
三、测试
虚拟机server上
# echo 'for test1' | mail -s 'Test1' -r test student
虚拟机desktop上
# mail -u student