IRedMail服务器拒收Spamhaus验证邮件问题求助
IRedMail服务器拒收Spamhaus验证邮件问题求助
大家好,我刚搭好自己的webmail服务,结果发现服务器IP被Spamhaus列入了垃圾邮件列表。现在我想接收Spamhaus的验证邮件来申诉移除,却发现邮件直接被服务器拒收了,麻烦帮忙看看怎么解决!
问题日志:
Feb 9 17:44:01 mail postfix/postscreen[2033648]: CONNECT from [193.190.148.132]:33436 to [xxx.xxx.xxx]:25 Feb 9 17:44:01 mail postfix/dnsblog[2033651]: warning: dnsblog_query: lookup error for DNS query 132.148.190.193.zen.spamhaus.org: Host or domain name not found. Name service error for name=132.148.190.193.zen.spamhaus.org type=A: Host not found, try again Feb 9 17:44:07 mail postfix/postscreen[2033648]: PASS NEW [193.190.148.132]:33436 Feb 9 17:44:07 mail postfix/smtpd[2033670]: warning: hostname mail-out2.spamhaus.org does not resolve to address 193.190.148.132: Name or service not known Feb 9 17:44:07 mail postfix/smtpd[2033670]: connect from unknown[193.190.148.132] Feb 9 17:44:07 mail postfix/smtpd[2033670]: Anonymous TLS connection established from unknown[193.190.148.132]: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 Feb 9 17:44:08 mail postfix/smtpd[2033670]: NOQUEUE: reject: RCPT from unknown[193.190.148.132]: 450 4.7.1 <mail-out2.spamhaus.org>: Helo command rejected: Host not found; from=<noreply@spamhaus.org> to=<postmaster@my-domain.com> proto=ESMTP helo=<mail-out2.spamhaus.org> Feb 9 17:44:08 mail postfix/smtpd[2033670]: disconnect from unknown[193.190.148.132] ehlo=2 starttls=1 mail=1 rcpt=0/1 data=0/1 rset=1 quit=1 commands=6/8
我的Postfix main.cf相关配置:
# HELO restriction smtpd_helo_required = yes smtpd_helo_restrictions = permit_mynetworks permit_sasl_authenticated check_helo_access pcre:/etc/postfix/helo_access.pcre reject_non_fqdn_helo_hostname reject_unknown_helo_hostname postscreen_dnsbl_sites = zen.spamhaus.org*2 bl.spamcop.net*1 b.barracudacentral.org*1 # zen.spamhaus.org=127.0.0.[2..11]*3 # b.barracudacentral.org=127.0.0.2*2
问题分析与解决方案:
从日志里的关键错误信息450 4.7.1 <mail-out2.spamhaus.org>: Helo command rejected: Host not found可以看出,问题出在你Postfix配置里的reject_unknown_helo_hostname规则上。这个规则会拒绝那些HELO主机名无法反向解析到对应发送IP的邮件,而Spamhaus的这台发送服务器(193.190.148.132)的HELO主机名mail-out2.spamhaus.org确实无法解析到它的IP,所以被你的服务器拒收了。
给你两个可行的解决办法:
方法一:添加Spamhaus发送IP到白名单(推荐)
这个方法更精准,只会允许特定的Spamhaus服务器发送邮件,不会放宽整体的安全规则:
- 在
/etc/postfix/main.cf的smtpd_helo_restrictions列表最前面添加一行:
注意保持格式和其他规则一致,末尾加逗号分隔。check_client_access hash:/etc/postfix/spamhaus_whitelist, - 创建
/etc/postfix/spamhaus_whitelist文件,写入内容:193.190.148.132 permit - 执行命令生成哈希映射文件:
postmap /etc/postfix/spamhaus_whitelist - 重启Postfix服务使配置生效:
systemctl restart postfix
方法二:临时放宽HELO验证规则(不推荐,仅限应急)
如果你不想单独配置白名单,可以暂时把reject_unknown_helo_hostname改成warn_if_reject reject_unknown_helo_hostname,这样服务器只会对HELO解析失败的邮件发出警告,不会直接拒收:
- 修改
main.cf里的对应规则:warn_if_reject reject_unknown_helo_hostname - 重启Postfix服务。
不过这个方法会允许所有HELO解析有问题的邮件进入,可能带来安全风险,建议解决完Spamhaus的申诉问题后改回原规则。
等你收到验证邮件完成申诉后,记得根据情况调整配置哦!
备注:内容来源于stack exchange,提问作者mohamad zbib
相关产品推荐
相关产品推荐

