您的位置:首页 > 其它

配置电子邮件传输----邮件发送postfix

2017-05-24 17:23 369 查看
环境配置:重置两台虚拟机

desktop端:

vim /etc/sysconfig/network-scripts/ifcfg-eth0    ####修改主配置文件,添加ip,设置网关,设置静态ip

vim /etc/yum.repos.d/rhel_dvd.repo                    #####修改yum源指向

systemctl restart network                                       ####重启网络服务,配置文件生效

hostnamectl set-hostname westos-mail.westos.com    ####修改主机名

yum install bind -y            ####下载安装DNS服务


systemctl start named    #####服务开启


[root@westos-mail ~]# vim /etc/named.conf           ####修改主配置文件






[root@westos-mail ~]# vim /etc/named.rfc1912.zones     #####编辑区域配置文件







[root@westos-mail ~]# cd /var/named

[root@westos-mail named]# ls

data  dynamic  named.ca  named.empty  named.localhost  named.loopback  

[root@westos-mail named]# cp -p named.localhost  westos.com.zone      ####复制模板配置文件

[root@westos-mail named]# vim  westos.com.zone                ####编写解析文件







[root@westos-mail named]# cp -p   westos.com.zone qq.com.zone [b]######复制模板配置文件  

[root@westos-mail named]# vim qq.com.zone        [b]            ####编写解析文件[/b]    

[root@westos-mail named]# systemctl restart named       ####重启dns服务
[/b]
[root@westos-mail named]# vim /etc/resolv.conf               #####编写本地解析文件





测试:


[root@westos-mail named]# dig -t mx qq.com

[root@westos-mail named]# dig -t mx westos.com











server端:

[b]vim /etc/sysconfig/network-scripts/ifcfg-eth0    ####修改主配置文件,添加ip,设置网关,设置静态ip

vim /etc/yum.repos.d/rhel_dvd.repo                    #####修改yum源指向

systemctl restart network                                       ####重启网络服务,配置文件生效

[/b]

hostnamectl set-hostname qq-mail.qq.com     [b][b]####修改主机名[/b]  

[/b]
[root@qq-mail ~]# vim /etc/resolv.conf              [b]#####编写本地解析文件
[/b]





测试:


[root@qq-mail ~]# dig -t mx qq.com

[root@qq-mail ~]# dig -t mx westos.com











                                                                    ---------postfix------

电子邮件发送

---服务器使用SMTP协议将电子邮件提交至TCP端口25,或由本地客户端通过[b]/usr/bin/sendmail程序进行提交。如果该MTA是最终目标位置,邮件将传递至MDA。否
则,将使用MX记录在DNS中查找下一个MTA,并使用SMTP进行转发。[/b]

---MDA:“邮件发送代理”。MDA将邮件发送至收件人的本地邮件存储位置(默认情[b]况下是/var/spool/mail/user)。Postfix提供自己的MDA,以发送至基于文件的本地默认邮件存储位置/usr/libexec/postfix/local.[/b]

---转发:电子邮件服务器(MTA)将提交的邮件转发至另一个服务器,以进行发送

---排队:失败的发送或转发尝试排队等待,并由MTA定义重试。(默认情况下,Postfix[b]每小时执行此操作一次)

---拒绝:在首次提交期间,电子邮件被电子邮件服务器拒绝[/b]

---退回:远程服务器接受电子邮件以进行发送以后,又将该电子邮件退回给始发电子邮[b]件服务器和/或用户

---电子邮件以进行发送以后,又将该电子邮件退回给始发电子邮件服务器和/或用户
[/b]

1.Postfix:Postfix由postfix RPM包提供,并通过postfix服务脚本控制。它是一个由多个协同操作程序构成的模块[b]化程序,它的组件由master进程控制
[/b]

---提供smtp协议用来投递邮件

---默认端口25

---/var/log/maillog          #####服务日志



mail root@qq.com    ####邮件发送至qq.com的root用户

Subject:hello

hello

.                             ####用"."来结束录入内容并发送

mailq                   ####查看邮件队列

postqueue -f     ####重新处理邮件队列

postsuper -d id      ##删除邮件


[b]


[/b]

---默认情况下邮件端口只在127.0.0.1 上开启

2.配置(两台主机都做)

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       ##接收邮件结尾字符的指定

systemctl restart postfix.service        ####重启服务

systemctl stop firewalld                       #####关闭火墙

测试:发送成功,在接收端查看邮件

[b][b]

[/b][/b]






 

3.邮件别名

vim /etc/aliases                     ####添加别名设置







别名:  真名                             ##邮件别名

postalias   /etc/aliases       ####创建别名数据库,生成.db文件

systemctl restart postfix.service    ####重启服务

测试:mail 别名

[b]

[/b]

邮件接收方查看






[b]vim /etc/aliases                     ####添加别名设置[/b]



别名:  :include:filename     ##邮件群发

[b][b]

[/b]
[/b]

vim filename                 ####编辑群发名单


 user1

 user2

[b][b]

[/b][/b]

测试:
[b][/b]





接收方查看:








4.通过远程主机测试邮件服务

真机中:

yum install telnet                  ####下载安装telnet

telnet 172.25.254.242 25     #####远程连接主机发送邮件,通过25端口

Trying 172.25.254.100...

Connected to 172.25.254.100.

Escape character is '^]'.

220 westos-mail.westos.com ESMTP Postfix

ehlo hello                              #####查看设备信息,打招呼

250-westos-mail.westos.com

250-PIPELINING

250-SIZE 10240000

250-VRFY

250-ETRN

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN

mail from:root@westos.com     #####邮件从[b][b]root@westos.com
[/b]发出

250 2.1.0 Ok

rcpt to:root@qq.com                  #####服务端root@qq.com接收邮件

250 2.1.5 Ok

data                                                 ####邮件内容

354 End data with <CR><LF>.<CR><LF>

adsf

asdf

asdf

.

quit[/b]




[b]qq.com中mail查看[/b]








5.邮件客户端的访问控制

**限制客户端

在mta上   

[root@qq-mail ~]# postconf  -e  "smtpd_client_restrictions = check_client_access hash:/etc/postfix/access"    ####限制主机远程发送,将命令已写入文件[b]/etc/postfix/main.cf中

[/b]
[root@qq-mail ~]# vim /etc/postfix/main.cf           ####查看命令是否正确






[root@qq-mail ~]# vim /etc/postfix/access           #####写入被禁止主机的ip,拒绝172.25.254.59主机

 


[root@qq-mail ~]# postmap /etc/postfix/access     ####hash加密生成.db文件

[root@qq-mail ~]# cd  /etc/postfix/

[root@qq-mail postfix]# ls                                            ####查看生成access.db文件

access     canonical  header_checks  master.cf  transport

access.db  generic    main.cf        relocated  virtual

[root@qq-mail postfix]# systemctl restart postfix        #####重启服务






测试:

telnet 172.25.254.159 25

mail from:root@westos.com

rcpt to:root@qqcom

显示:554 Client host rejected:Access denied   访问被拒






   

**限制用户发送

[root@qq-mail ~]# systemctl stop firewalld    ####关闭防火墙

[root@qq-mail ~]# systemctl start named       ####开启dns服务

[root@qq-mail ~]# postconf -e "smptd_sender_restrictions = check_sender_access hash:/etc/postfix/sender"   ####限制用户发送邮件,限制用户写入文件进行加密

[root@qq-mail ~]# vim /etc/postfix/sender     ###限制用户写入文件,发送被拒






[root@qq-mail ~]# postmap /etc/postfix/sender   ####文件加密

[root@qq-mail ~]# systemctl restart postfix          ####服务重启






测试:

[kiosk@foundation42 Desktop]$
abf8
telnet 172.25.254.159 25    ####远程连接mta主机

mail from: student@westos.com ####由student用户发送

250 2.1.0 Ok

rcpt to:root@westos.com            ####由root用户接收

554 5.7.1 <student@qq.com>: Sender addressrejected: Access denied  ###发送被拒

测试student@westos.com可成功接收:










发送邮件时被拒绝







**限制用户接收

[root@qq-mail ~]# useradd qq            ###添加用户

[root@qq-mail ~]# postconf -e "smptd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recip"   ####限制用户接收邮件,限制用户写入文件进行加密

[root@qq-mail ~]# vim /etc/postfix/recip              ####限制用户写入文件,接收被拒






[b][root@qq-mail ~]# vim /etc/postfix/main.cf           ####注释掉客户端限制命令[/b]

[b]


[/b]

[root@qq-mail ~]# postmap /etc/postfix/recip     ####对文件进行加密,生成.db文件

[root@qq-mail ~]# systemctl restart postfix         ####重启服务

测试:

[kiosk@foundation42 Desktop]$ telnet 172.25.254.159 25   ###远程连接测试

220 qq-mail.qq.com ESMTP Postfix

mail from: root@westos.com             ####由root用户发送

250 2.1.0 Ok

rcpt to: westos@westos.com           ####由westos用户接收

554 5.7.1 <qq@qq.com>: Recipient address rejected: Access denied  ###接收被拒








**出站地址伪装

[root@westos-mail named]# postconf -e "virtual_generic_maps = hash:/etc/postfix/generic"                   ####生成加密文件实现出战地址伪装

[root@westos-mail named]# vim /etc/postfix/generic   ####编写伪装地址



[root@westos-mail named]# postmap /etc/postfix/generic    ####文件加密

[root@westos-mail named]# systemctl restart postfix     ####重启服务






测试:

su - westos                 ###切换到westos用户

mail root@qq.com   ###向root@qq.com发邮件

在qq.com中查看邮件:Deliver to westos@westos.com



**入站地址转换

在mta上做dns mx 记录解析,添加hello.bobo.com的dns解析

[root@westos-mail ~]# vim /etc/named.rfc1912.zones     #####编辑区域配置文件


[root@westos-mail ~]# cd /var/named/

[root@westos-mail named]# ls

[root@westos-mail named]# cp -p qq.com.zone bobo.com.zone    #####复制模板

[root@westos-mail named]# vim  bobo.com.zone



[root@westos-mail named]# systemctl restart named     #####重启dns服务

[root@westos-mail named]# postconf -e "virtual_alias_maps = hash:/etc/postfix/virtual"       ####生成加密文件实现入站地址转换

[root@westos-mail named]# vim /etc/postfix/virtual              ###编写转换地址



[root@westos-mail named]# postmap /etc/postfix/virtual    ###文件加密

[root@westos-mail named]# systemctl restart postfix          ####重启服务






测试:

在qq.com

mail hello@bobo.com

[b]


[/b]

在westos.com

su - westos

mail 查看接收邮件






内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: