我的任务是设置 Postfix 开放中继服务器,允许网络内外的所有用户通过它中继电子邮件!还包括 Spamassassin 和 ClamaV(我知道不建议使用开放中继!但这是我项目中的任务,所以必须这样做,稍后我将使用我的网络和防火墙,目前我正在为 ISP 执行此操作,因此他们将列出允许中继的网络,但目前我希望每个人都被允许!)
当我在线测试开放中继时,它说它已关闭!(https://mxtoolbox.com/)
这是我的 main.cf Postfix 配置:
主配置文件
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no
append_dot_mydomain = no
readme_directory = 否
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_relay_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
myhostname = testmail.*****.ie
alias_maps = hash:/etc/aliases
别名数据库 = 哈希:/etc/aliases
我的域名 = *****.ie
myorigin = $mydomain
我的目的地 =
local_transport = 错误:本地邮件传递已禁用relayhost =
我的网络 = 0.0.0.0
邮箱大小限制 = 0
收件人分隔符 = +
inet_interfaces = 全部
inet_protocols = ipv4
header_checks = regexp:/etc/postfix/header_checks
content_filter = 扫描:127.0.0.1:10025
接收覆盖选项 = 无地址映射
....
另外,我还在等待设置反向 DNS,这会是拒绝中继访问的原因吗?如果不是,我的配置设置正确吗?
/var/log/mail.log
4 月 26 日 11:44:53 testmail postfix/smtpd[4387]: 从 pws3.mxtoolbox.com[64.20.227.134] 连接 4 月 26 日 11:44:56 testmail postfix/smtpd[4387]: NOQUEUE: 拒绝:来自 pws3.mxtoolbox.com[64.20.227.134] 的 RCPT: 554 5.7.1: 中继访问被拒绝;来自= 到= proto=ESMTP helo= 4 月 26 日 11:44:56 testmail postfix/smtpd[4387]: 从 pws3.mxtoolbox.com[64.20.227.134] 断开连接 ehlo=1 mail=1 rcpt=0/1 quit=1 命令=3/4
答案1
答案是你还没有允许它进入smtpd_relay_restrictions
。事情就应该是这样的。开放中继 SMTP 服务器在 90 年代垃圾邮件泛滥之初就很流行。您在 MxToolbox 上使用的测试是为了测试您是否意外设置了开放中继。没有人想故意设置一个。
RFC2505:SMTP MTA 的反垃圾邮件建议从 1999 年 2 月开始已经注意到这个问题:
2.1. 限制未经授权的邮件中继使用
未经授权将主机用作邮件中继意味着窃取中继资源,并使中继所有者的声誉面临风险。这还使得无法在不阻止合法邮件的情况下过滤或阻止垃圾邮件。
因此,MTA 务必能够控制/拒绝此类中继的使用。
相反,你应该使用提交用于发送邮件。从外面看应该有SASL 身份验证. 从内部网络它可以根据受信任的网络进行中继,无需身份验证。