重置两台虚拟机
对desktop
vim /etc/sysconfig/network-scripts/ifcfg-eth0 ##网络配置
BOOTPROTO=none
IPADDR=172.25.254.133
PREFIX=24
systemctl restart network ##重启网络
vim /etc/yum.repos.d/… ##编辑yum源
yum clean all ##清除yum缓存
hostnamectl set-hostname westos-mail.westos.com
dns解析
yum install bind -y
systemctl start named
vim /etc/named.conf
11 // listen-on port 53 { 127.0.0.1; };
12 // listen-on-v6 port 53 { ::1; };
17 // allow-query { localhost; };
32 dnssec-validation no;
vim /etc/named.rfc1912.zones
vim /var/named/westos.com.zone
vim /var/named/qq.com.zone
systemctl restart named
vim /etc/resolv.conf
nameserver 172.25.254.141
对server
vim /etc/sysconfig/network-scripts/ifcfg-eth0 ##网络配置
vim /etc/yum.repos.d/…
yum clean all
hostnamectl set-hostname qq-mail.qq.com
vim /etc/resolv.conf
nameserver 172.25.254.133
Postfix由postfix RPM包提供,并通过postfix服务脚本控制。它是一个由多个协同操作程序构成的模块化程序,它的组件由master进程控制。
Postfix的主配置文件是/etc/postfix/main.cf,可以使用文本编辑器或postconf命令进行编辑。postconf命令还可用于确定Postfix的所有当前和默认配置设置或逐项确定这些设置。
默认情况下,Postfix仅侦听来自本地主机的传入电子邮件。若要重新配置postfix以接收从远程主机发送的本地邮件,必须在/etc/postfix/main.cf中设置inet_interfaces = all
对电子邮件进行故障排除时,将在/var/log/maillog中保留所有与邮件相关的操作日志,其中包括关于被事件和成功事件的信息。mailq命令(或postqueue -p)显示已排队的所有传出邮件的列表。若要尝试再次立即发送所有已排队的邮件,可以运行postfix flush命令(或postqueue -f);否则,postfix将大
约每小时尝试重新发送一次,直至邮件被接受或过期。
postfix提供smtp协议用来投递邮件
默认端口25
/var/log/maillog ##mail日志存放点
发送邮件
mail [email protected]
Subject: www
sadad
afdad
. ##.表示邮件结束
EOT
mailq ##查看邮件队列
postqueue -f ##重发邮件队列
postsuper -d ##清除邮件队列
postconf -d ##显示默认值
postconf -n ##显示不同于默认值的更改
默认情况下邮件端口只在127.0.0.1上开启
(1)
vim /etc/postfix/main.cf ##编辑配置文件
76 myhostname = westos-mail.westos.com ##指定mta主机名称
83 mydomain = westos.com ##指定mta主机域名
99 myorigin = westos.com ##指定邮件来源结尾(即@后的字符)
116 inet_interfaces = all ##25端口开启的网络接口
164 mydestination = myhostname, mydomain, localhost, westos.com ##接受邮件结尾字符(即@westos-mail.westos.com @westos.com root)
systemctl stop firewalld ##关闭火墙
systemctl restart postfix.service ##重启服务
(2)测试:
——发端——
mail 发送邮件
——收端——
mail 查看邮件
(1)
在收端编辑:
[root@qq-mail ~]# vim /etc/aliases ##编辑文件
别名: 真名
别名: :include:filename ##群发邮件(filename可以为/etc/postfix/moreuser)
[root@qq-mail ~]# vim filename ##编辑更多user文件
user1
user2
[root@westos-mail ~]# postalias /etc/aliases
(2)测试:
————发端————
mail 别名@qq.com
————收端————
mail查看邮件
X-Original-To: [email protected]
Delivered-To: [email protected] ##由此看出邮件别名
X-Original-To: [email protected]
Delivered-To: [email protected] ##由此看出这是群发邮件
mail -u username ##查看指定用户的邮件
X-Original-To: [email protected]
Delivered-To: [email protected] ##群发邮件
(1)
远程主机(这里使用真机)
yum install telnet -y ##下载telnet
[root@foundation60 ~]# telnet 172.25.254.141 25 ##远程通过172.25.254.133的25端口
Trying 172.25.254.133…
Connected to 172.25.254.133.
Escape character is ‘^]’.
220 westos-mail.westos.com ESMTP Postfix
ehlo hello ##**
mail from:[email protected] ##邮件发送端
rcpt to:[email protected] ##邮件接受端
data ##邮件内容
354 End data with .
123 ##由此键入
. ##结束点
250 2.0.0 Ok: queued as 13873246204
quit ##退出
(2)测试:
接受端:
mail 查看邮件
(1)
在mta上
发送端:
[root@westos-mail ~]# postconf -e “smtpd_client_restrictions = check_client_access hash:/etc/postfix/access ##**
[root@westos-mail ~]# tail -n 1 /etc/postfix/main.cf ##查看主配置文件的最后一行会发现参数已经添加
smtpd_client_restrictions = check_client_access hash:/etc/postfix/access
[root@westos-mail ~]# vim /etc/postfix/access ##编辑加密文件
476 172.25.254.60 REJECT ##最后一行添加要拒绝的主机
[root@westos-mail ~]# postmap /etc/postfix/access ##加密文件
[root@westos-mail ~]# ls /etc/postfix/ ##.db为真实的加密文件
access canonical header_checks master.cf relocated virtual
access.db generic main.cf moreuser transport
[root@westos-mail ~]# systemctl restart postfix.service ##重启服务
(2)测试:
远程主机:
[root@foundation60 ~]# telnet 172.25.254.133 25
Trying 172.25.254.133…
Connected to 172.25.254.133.
Escape character is ‘^]’.
220 westos-mail.westos.com ESMTP Postfix
mail from:[email protected]
250 2.1.0 Ok
rcpt to:[email protected]
554 5.7.1 < unknown[172.25.254.41]>: Client host rejected: Access denied ##发送邮件时发现被拒绝
quit
221 2.0.0 Bye
Connection closed by foreign host.
(1)
首先清除上次实验的控制
[root@westos-mail ~]# vim /etc/postfix/main.cf ##注释掉邮件访问控制语句
#smtpd_client_restrictions = check_client_access hash:/etc/postfix/access
[root@westos-mail ~]# systemctl restart postfix.service ##重启服务
(2)
然后再开始实验
在mta上:
[root@westos-mail ~]# postconf -e “smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender” ##限制用户发送邮件,使用哈希在/etc/postfix/sender加密
[root@westos-mail ~]# tail -n 1 /etc/postfix/main.cf ##查看主配置文件发现参数已经添加
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender
[root@westos-mail ~]# vim /etc/postfix/sender ##编辑加密文件,写入要加密的用户
[email protected] REJECT
[root@westos-mail ~]# postmap /etc/postfix/sender ##对加密文件进行加密
[root@westos-mail ~]# ls /etc/postfix/ ##sender.db即生成的加密文件
access canonical header_checks master.cf relocated sender.db virtual
generic main.cf moreuser sender transport
[root@westos-mail ~]# systemctl restart postfix.service ##重启服务
(3)测试:
[root@foundation60 Desktop]# telnet 172.25.254.133 25
mail from:[email protected]
rcpt to:[email protected]
554 5.7.1 < [email protected]>: Sender address rejected: Access denied ##发送被限制
(1)
在mta上:
[root@westos-mail ~]# postconf -e “smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recip” ##限制用户接受文件,使用哈希加密在/etc/postfix/recip加密
[root@westos-mail ~]# vim /etc/postfix/recip ##编辑加密文件,写入加密用户
[email protected] REJECT
[root@westos-mail ~]# postmap /etc/postfix/recip ##对加密文件进行加密,生成.db文件
[root@westos-mail ~]# ls /etc/postfix/
access generic main.cf moreuser recip.db sender transport
canonical header_checks master.cf recip relocated sender.db virtual
[root@westos-mail ~]# systemctl restart postfix.service ##重启服务
##PS如果没有westos用户则先创建一个再配置
(2)测试:
[root@foundation60 Desktop]# telnet 172.25.254.133 25
mail from:[email protected] ##发送者
rcpt to:[email protected] ##接收者
250 2.0.0 Ok: queued as 06562EAC27 ##由此看出[email protected]可以发送邮件
mail from:[email protected]
250 2.1.0 Ok
rcpt to:[email protected]
554 5.7.1 < [email protected]>: Recipient address rejected: Access denied ##由此看出不能接受邮件
quit
221 2.0.0 Bye
Connection closed by foreign host.
企业邮箱(Enterprise Mailbox)是指以您的域名作为后缀的电子邮件地址。通常一个企业经常有多个员工要使用电子邮件,企业电子邮局可以让集团邮局管理员任意开设不同名字的邮箱,并根据不同的需求设定邮箱的空间,而且可以随时关闭或者删除这些邮箱。
1. 按照企业自有域名开通的邮箱:name@企业域名。
2. 可自行管理、自由分配、命名的邮箱。
功能更多,空间容量更大,大大提高企业邮箱的稳定高效性,反垃圾反病毒性能更强,邮件收发速度更快。 企业邮箱是以企业自己的域名为后缀的信箱,例如:name@企业域名。 拥有企业邮箱可以为自己的员工设置电子邮箱,还可以根据需要设置不同的管理权限,以及部门成员之间或者公司全体员工之间的群发功能等等,除了一般的终端邮件程序方式(如outlook)收发E-mail之外,还可以实现WEB方式收发和管理邮件,比一般ISP提供的电子邮箱和虚拟主机提供的信箱更为方便。
出站地址伪装和入站地址转换构成了企业邮箱功能
(1)
[root@westos-mail ~]# postconf -e “smtp_generic_maps = hash:/etc/postfix/generic” ##出站地址伪装
[root@westos-mail ~]# vim /etc/postfix/generic ##编辑地址伪装文件
真实名称 伪装名称
[email protected] [email protected]
[root@westos-mail ~]# postmap /etc/postfix/generic ##进行加密
[root@westos-mail ~]# systemctl restart postfix.service ##重启服务
(2)测试:
发送端:
[root@westos-mail ~]# su - westos
[westos@westos-mail ~]$ mail [email protected]
接受端:
[root@qq-mail ~]# mail
>N 1 [email protected] Wed May 24 17:48 21/718 “hello” ##由此看出发件人被伪装
(1)
[root@westos-mail ~]# vim /etc/postfix/main.cf ##编辑主配置文件,注释westos用户不能收件的功能
#smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recip
[root@westos-mail ~]# systemctl restart postfix.service
(2)DNS解析
[root@westos-mail ~]# vim /etc/named.rfc1912.zones
zone “gmail.com” IN {
type master;
file “gmail.com.zone”;
allow-update { none; };
};
[root@westos-mail ~]# cp -p /var/named/westos.com.zone /var/named/gmail.com.zone
[root@westos-mail ~]# vim /var/named/gmail.com.zone
把westos换成gmail
[root@westos-mail ~]# systemctl restart named
dig -t mx gmail.com
(3)转换地址
[root@westos-mail ~]# postconf -e “virtual_alias_maps = hash:/etc/postfix/virtual” ##入站地址转换
[root@westos-mail ~]# vim /etc/postfix/virtual ##编辑虚拟地址转换文件在最后一行添加
虚拟名称 真实名称
[email protected] [email protected]
[root@westos-mail ~]# postmap /etc/postfix/virtual ##进行加密
[root@westos-mail ~]# systemctl restart postfix.service ##重启服务
(4)测试
[root@qq-mail ~]# mail [email protected] ##向[email protected]回复邮件
[root@westos-mail ~]# mail -u westos
Heirloom Mail version 12.5 7/5/10. Type ? for help.
“/var/mail/westos”: 1 message
>N 1 root Wed May 24 06:00 21/714 “123”
&
Message 1:
From [email protected] Wed May 24 06:00:39 2017
Return-Path: < [email protected]>
X-Original-To: [email protected] ##虚拟名称
Delivered-To: [email protected] ##转换成了真实名称
出站地址伪装和入站地址转换构成了企业邮箱功能
————————空壳主机—————————
重置qq.com主机
配置IP 及主机名nullmail.example.com
[root@nullmail ~]# vim /etc/postfix/main.cf
75 myhostname = nullmail.example.com ##主机名
83 mydomain = example.com ##主机域名
99 myorigin = westos.com ##@的后缀必须与接收主机域名一致,或者也可以为空壳邮箱的域名,但如果为空壳邮箱的域名,则在接受端一定要加上可以接受空壳邮箱域名的邮件
113 inet_interfaces = all ##25端口开启的网络接口
164 mydestination = ##因为是空壳邮件,所以不接收任何邮件
316 relayhost = 172.25.254.133 ##转发邮件地
[root@nullmail ~]# systemctl restart postfix.service ##重启服务
————————接受主机————————
westos-mail.westos.com
[root@nullmail ~]# mail [email protected]
[root@nullmail ~]# mailq
[root@westos-mail ~]# mail
Heirloom Mail version 12.5 7/5/10. Type ? for help.
“/var/spool/mail/root”: 2 messages 1 new
1 root Wed May 31 09:23 23/761 “123”
>N 2 root Wed May 31 09:31 21/741 “d”
& 2
Message 2:
From [email protected] Wed May 31 09:31:15 2017
Return-Path: < [email protected]>
X-Original-To: [email protected] ##空壳
Delivered-To: [email protected] ##空壳
Date: Sat, 27 May 2017 23:48:01 -0400
To: [email protected]
Subject: d
User-Agent: Heirloom mailx 12.5 7/5/10
Content-Type: text/plain; charset=us-ascii
From: [email protected] (root)
Status: R
da