配置电子邮件传输----邮件发送postfix
2017-05-24 17:23
411 查看
环境配置:重置两台虚拟机
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 查看接收邮件
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 查看接收邮件
相关文章推荐
- 在Linux中安装配置Postfix来搭建邮件发送服务
- postfix python发送邮件脚本配置(不乱码)
- Linux上配置postfix发送邮件
- CentOS6.5_64位系统下安装配置postfix邮件系统 启用并配置SMTP在第三方上边使用发送邮件
- CentOS6.5_64位系统下安装配置postfix邮件系统 启用并配置SMTP在第三方上边使用发送邮件
- 配置好postfix邮件服务器之后就可以使用它来发送邮件了
- Liunx学习篇第三章之~配置电子邮件传输(postfix)
- 安装milter-limit配置postfix限制邮件账号发送量
- PostFix的安装配置,python发送邮件示例
- Postfix邮件服务器的原理和postfix + dovecot配置,使用Thunderbird发送邮件和SMTP认证
- postfix实现邮件发送的简单配置
- TD邮件自动发送配置步骤
- Apache James邮件服务器介绍及配置发送外网邮件
- 邮件无法发送到 SMTP 服务器。传输错误代码为 0x80040217
- 配置SQL Server发送电子邮件
- 邮件系统postfix安装与配置
- 怎样配置SQL Server发送电子邮件
- 邮件发送程序的WebConfig配置
- 在VC中调用默认的电子邮件程序发送邮件
- server 2003 stmp服务器简单配置 以及.net 下发送邮件