postfix搭建纯邮件转发服务器
来源:互联网 发布:淘宝点赞买家秀要钱吗 编辑:程序博客网 时间:2024/05/29 13:20
1)安装dns和postfix
aptitude install bind9 dnsutils postfix2) 配置dns
a) named.conf.local
zone "test.com"{
type master;
file "/etc/bind/test.com";
};
b) test.com
$TTL 604800
@ IN SOA @ mail203.local.(
20130305
604800
86400
2419200
604800)
@ IN NS 192.168.1.203.
MX 0 mail203
mail203 IN A 192.168.1.203
mail202 IN A 192.168.1.202
3) 配置postfix
a) 修改/etc/postfix/main.cf #发送给mynetworks的邮件或由mynetworks发出的邮件才会帮忙转发 mynetworks = 127.0.0.1 192.168.61.202 192.168.61.203 #可转发的邮件域名 relay_domains = jobcn.com #转发目的地 transport_maps = hash:/etc/postfix/transport #收件人限制,非relay_recipients中定义的收件人,拒绝转发 relay_recipient_maps = hash:/etc/postfix/relay_recipients #客户端连接限制,只允许mynetworks定义的客户端连接并转发邮件 smtpd_client_restrictions = permit_mynetworks, reject_unknown_client #垃圾邮件黑名单设置(参考mail-abuse.org/bl.spamcop.net/zen.spamhaus.org网站定义的垃圾邮件黑名单) map_rb1_domains=mail-abuse.org, bl.spamcop.net, zen.spamhaus.org smtp_client_restrictions=reject_map1_rb1 #邮件Subject内容过滤 header_checks = regexp:/etc/postfix/header_checks #postfix能累计客户端曾经发生错误的次数,对于可疑的客户端,postfix会主动延迟响应的时间 #而且错误次数越多,延迟时间越长。这些都是通过下面的参数进行设置 #参数说明:初次的延迟时间由smptd_error_sleep_time参数决定(默认1秒),当客户端累积了 #smtpd_soft_error_limit次错误之后,往后每发生一次错误,postfix就多延迟1秒,当错误次数 #超过smtpd_hard_error_limit时,postfix就放弃该客户端,并主动断线 smtpd_error_sleep_time = 1s smtpd_soft_error_limit = 10 smtpd_hard_error_limit = 20 b) 创建/etc/postfix/transport文件,并生成db文件 i) 内容: dgcn.com relay:[mail202.dgcn.com] ii) 生成db文件:运行命令postmap /etc/postfix/transport c) 创建/etc/postfix/header_checks文件 内容如下: /^Subject:.*((业.*务)|(网?.*赚.*钱?)|(税))*$/ REJECT /^Subject:.*(([报海].*关)|([财税].*务)|([发机税].*票)|(合.*作)|(客.*户))*$/ REJECT /^Subject:.*((商.*务)|(免.*费)|(生.*意)|(禁.*片)|(成.*人)|(商.*品)|(贸.*易)|(找工作真)|(送票上门)|(商务合作)|(票据代开))*$/ REJECT /^Subject:.*((管.*理)|(人.*才)|(经.*理)|(主.*管)|(会.*计)|(供.*求)|(求.*供)|(特.*价)|(价.*[格值])|(资.*[讯信]))*$/ REJECT /^Subject:.*((电.*机)|(课.*程)|(产.*品)|(展.*览)|(互.*利)|(朋.*友)|(什么时候过来)|(金耀才)|(破解)|(林先生))*$/ REJECT /^Subject:.*((为你避税)|(文件定稿)|(优惠代开)|(人才兴旺网))*$/ REJECT
4) 垃圾邮件过滤
根据如上设置,postfix可接收并转发test.com网域的所有邮件,但postfix并不知道test.com网域有哪些收件人,这样就会导致postfix收下许多无效的test.com网域邮件,最终无法转发而积压,最终导致postfix崩溃
解决办法:将test.com网域的所有有效邮箱同步到postfix,以便postfix能及时判断收到test.com网域邮件的有效性
a) 修改/etc/postfix/main.cf
添加:relay_recipient_maps = hash:/etc/postfix/relay_recipients
b) 创建/etc/postfix/relay_recipients
# touch /etc/postfix/relay_recipients
文件内容:
admin@test.com OK
说明:admin@test.com: 表示test.com网域的有效邮箱
OK:此处可以是任意字符串,因文件格式的需要,必须填写
c) 生成数据库文件
# postmap /etc/postfix/relay_recipients
5) 测试:
a) 外发邮件:
根据上面mynetworks设置,postfix只能转发postfix所在主机或192.168.1.202主机的邮件,现在假设登录postfix所在主机,粗体部分是需要我们手动输入的内容
测试步骤如下:
telnet localhost 25
Trying 192.168.1.202...
Connected to 192.168.1.202 (192.168.1.202).
Escape character is '^]'.
220 localhost.localdomain ESMTP Postfix
helo test.com
250 localhost.localdomain
mail from:<test@test.com>
250 2.1.0 Ok
rcpt to:<zzban@126.com>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
Subject: this is a test mail
This is test mail content
. (注意此处的点".",表示邮件内容的结束标记)
250 2.0.0 Ok: queued as 88B3B2A68032
quit
221 2.0.0 Bye
Connection closed by foreign host.
这样邮件就发送出去了,你可以登录你的收件邮件看看有没有收到邮件。如果收到邮件,表示一切正常,结束。
b) 内发邮件
步骤同上,只需将mail from所示的发件人和rcpt to所示的收件人邮箱互换即可
6) 发现问题
如在测试过程中发现测试不成功 ,不能正常收到邮件,或者是测试过程中,你想查看整个测试过程,你可以查看postfix的发送或接收邮件的log信息
log所在位置:/var/log/mail.info或/var/log/mail.log
- postfix搭建纯邮件转发服务器
- 搭建postfix邮件服务器
- Postfix搭建邮件服务器
- postfix邮件服务器搭建
- postfix邮件服务器搭建
- postfix邮件服务器搭建
- POSTFIX邮件服务器搭建
- linux 邮件服务器搭建-postfix
- Postfix公网邮件服务器搭建
- Postfix,dovecot邮件服务器搭建
- Linux--搭建postfix邮件服务器
- 搭建 Postfix、Dovecot 邮件服务器
- postfix邮件服务器搭建笔记
- CentOS 搭建postfix邮件服务器
- postfix+ dovecot搭建邮件服务器
- 采用转发服务器增强 Postfix 邮件服务器的安全
- postfix 自动转发邮件
- [ZT]postfix邮件转发
- 硬币问题之记忆化搜索-动态规划 By ACReaper
- 【IOS】蓝牙通信示例
- SQL Server 拆分字符串方法详解
- 在JSP页面中获取当前日期时间
- Chrome 插件(Shockwave Flash)未响应 错误解决办法
- postfix搭建纯邮件转发服务器
- Oracle CBO知识点
- sqlite returned: error code = 14, msg = cannot open file at source line 25502
- oracle分析函数row_number() over()使用
- 程序员找工作需要看的书
- oracle sql语句执行顺序
- UISegmentedControl
- Android操作HTTP实现与服务器通信
- Delphi 操作剪贴板(1)