我已经解决这个问题好几个星期了。。。
我通过另一个SMTP服务器从我的服务器(debian 8通过ruby 1.8.7 NET::SMTP)发送邮件。
发送的电子邮件具有以下标题
Return-Path: <sender@mail.com>
Received: from XXXDOMAIN ([xxx.xxx.xxx.xxx]) by
XXX MAILSERVER
17:13:40 +0100
Received: from 127.0.0.1 (REALDOMAIN [REALIP]) by
REALMAILSERVERDOMAIN
Tue, 15 Mar 2016 16:13:38 +0000
Date: Tue, 15 Mar 2016 17:13:37 +0100
From: admin <sender@mail.com>
To: recepient@mail.com
由于127.0.0.1,服务器被cbl阻止。CBL的真正问题:这个IP的列表是因为它作为127.0.0.1 运行
如果我通过telnet进行EHLO,一切都可以,但如果我从ruby发送邮件,我会得到错误的头。
我的/etc/hosts:
# nameserver config
# IPv4
127.0.0.1 jupiter
127.0.0.1 localhost.localdomain localhost
xxx.xxx.xxx.xxx jupiter.domain.com jupiter
#
# IPv6
xxx ip6-localhost ip6-loopback
xxx ip6-localnet
xxx ip6-mcastprefix
xxx ip6-allnodes
xxx ip6-allrouters
xxx ip6-allhosts
xxxipv6stringxxx jupiter
如果你能给我一个解决方案,那就太好了。
谢谢!
CBL很可能正在阻止127.0.0.1
(localhost)IP地址。设置SMTP服务器,使其设置正确的IP地址,而不是本地主机。
我们已经多次遇到这个问题,您要做的第一件事是确保您不是从localhost发送邮件。如果您想增加邮件的"白名单",您可能需要考虑添加SPF
、DKIM
和PTR
记录。
我发现了问题。。。
在ruby中,您设置域,我们将其设置为"127.0.0.1"…
ActionMailer::Base.smtp_settings = {
:address => $config[:mail_smtp_host],
:port => $config[:mail_smtp_port].to_s,
:user_name => $config[:mail_smtp_username],
:password => $config[:mail_smtp_password],
:authentication => $config[:mail_smtp_authtype],
:domain => $config[:mail_smtp_domain] ## HERE must be the domain
}