电子邮件 header 显示 "received from 127.0.0.1"

Email header shows "received from 127.0.0.1"

这个问题我已经坚持了几个星期了...

我从我的服务器(ruby 1.8.7 NET::SMTP 上的 debian 8)通过另一个 smtp 服务器发送邮件。

一封已发送的邮件有以下内容header

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 的列表是因为它 HELO 为 127.0.0.1

如果我通过 telnet 创建 EHLO 一切正常,但是如果我从 ruby 发送邮件,我会收到错误的 header.

我的/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 地址,而不是本地主机。

我们已经多次遇到这个问题,您要做的第一件事就是确保您没有从本地主机发送邮件。如果您想增加邮件 "whitelistness",您可能需要考虑添加 SPFDKIMPTR 记录。

我发现了问题...

在 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
  }