AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 759489
Accepted
user56reinstatemonica8
user56reinstatemonica8
Asked: 2016-02-25 08:07:06 +0800 CST2016-02-25 08:07:06 +0800 CST 2016-02-25 08:07:06 +0800 CST

如何让具有多个域的服务器上的 exim 从其自己的域而不是服务器主机名发送每封邮件?

  • 772

假设我有一个具有多个专用 IP 地址和多个域的 VPS:

  • domain-a.com开启11.11.11.11,mx 为mail.domain-a.com
  • domain-b.com开启22.22.22.22,mx 为mail.domain-b.com
  • domain-c.com开启33.33.33.33,mx 为mail.domain-c.com

domain-a.com是主域,服务器的主机名是server.domain-a.com

一切似乎都很好,直到我发现使用 Exim 4.72 发送的 SMTP 电子邮件被退回、失败或被标记为许多域的垃圾邮件。经过一番挖掘,我发现存在不匹配:对于来自每个域的电子邮件,HELO来自server.domain-a.com.


例如,我在发送给 gmail 的电子邮件的标题中看到了这一点:

Received: from server.domain-a.com (mail.domain-c.com. [33.33.33.33])

像https://www.mail-tester.com/这样的邮件测试服务告诉我:

您的反向 DNS 与您的发送域不匹配。

您的 IP 地址 33.33.33.33 与域 mail.domain-c.com 相关联。

不过,您的消息似乎是从 server.domain-a.com 发送的。

您可能希望将您的指针(PTR 类型)DNS 记录和服务器的主机名更改为相同的值。

以下是此检查的测试值:

IP: 33.33.33.33
HELO: server.domain-a.com
rDNS: mail.domain-c.com

但显然我不能同时指向server.domain-a.com域 a、b 和 c,而且无论如何,我不一定希望 domain-c.com 通过 domain-a.com 发送 - 让我们假设它们是独立的企业,只是碰巧托管在同一台服务器上。

如何将 exim 配置为从其自己的域发送每封电子邮件,并HELO从邮件服务器域而不是服务器的主主机名发送?

所以标题看起来像这样:

Received: from mail.domain-c.com (mail.domain-c.com. [33.33.33.33])

测试结果报告了这一点:

IP: 33.33.33.33
HELO: mail.domain-c.com
rDNS: mail.domain-c.com

我为 IP 地址找到了相同问题的解决方案,这就是我从不同 IP 发送邮件的方式,所以我确信域必须有类似的解决方案。

在我的研究中,我只能找到这个解决方案,但它取决于 cP***l 和 W*M 以及/etc/mailhelo仅存在于 cP***l 中的文件。这显然是可能的,但该解决方案取决于一些在 cP***l 中烘焙的幕后 gubbins,我不使用。


如果相关的话,操作系统是 CentOS。

smtp
  • 1 1 个回答
  • 5874 Views

1 个回答

  • Voted
  1. Best Answer
    user56reinstatemonica8
    2016-02-25T08:58:24+08:002016-02-25T08:58:24+08:00

    嗯,这比预期的要容易。

    我注意到我的 exim 设置文件 ( /etc/exim/exim.conf) 包含以下注释行:

    #helo_data = $sender_address_domain
    

    取消注释会导致 HELO / from 成为正确的域,只是缺少mail.前缀。


    所以对我有用的是:

    (1)在remote_smtp:我的系统上位于的 exim 配置文件中/etc/exim/exim.conf,添加以下行:

    helo_data = "mail.${sender_address_domain}"
    

    (2)重新启动 exim(在我的系统上,即service exim restart)

    (3)仅此而已


    进行此更改后,Mail Tester 之类的服务没有发现任何问题,并且我的邮件标头的这一部分看起来很正常:

    Received: from mail.domain-c.com (mail.domain-c.com. [33.33.33.33])
    

    主机名稍后仍会出现在电子邮件标题中;我已经问了一个单独的问题。

    • 1

相关问题

  • Postfix 或 exim:自动/程序化和转发电子邮件设置

  • 如何将 SMTP 直接从 IIS 6.0 服务器中继到 Exchange 2003 服务器

  • 使用 telnet 或 netcat 发送带有附件的电子邮件

  • 我应该使用什么策略在 linux 上安装 smtp 服务器?用于多线程服务

  • 适用于 Linux 的 SMTP 服务器,配置简单

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve