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 / 问题 / 888587
Accepted
Altimus Prime
Altimus Prime
Asked: 2017-12-18 16:15:11 +0800 CST2017-12-18 16:15:11 +0800 CST 2017-12-18 16:15:11 +0800 CST

sendmail的出站ip地址怎么设置?[复制]

  • 772
这个问题在这里已经有了答案:
CentOS 6.2 sendmail:如何控制将邮件中继到 mx.google.com 时使用的 ip 号 1 个回答
4年前关闭。

sendmail的出站ip地址怎么设置?

有几十个教程,但大多数只是告诉你设置什么而没有解释任何内容,并且大多数都假设你正在运行虚拟机并且只有一个静态 IP。

设置 服务器是运行 centos 7 的物理机,在 LAN 和 SElinux 中打开端口 25,并启用从 apache 发送电子邮件的选项。当我尝试发送出站电子邮件时,我不断收到超时错误。我已经在 gmail、yahoo 和 godaddy 电子邮件上进行了测试。

当我使用nmap --traceroutecURL 进行测试时,我看到我的出站连接正在通过动态 IP 地址,该地址的端口 25 被 isp 阻止。

我仍然需要从 LAN 连接,因为 ssh 和大多数其他端口都对外界关闭。25、80、443 和其他几个端口对外界开放。除了端口 25 之外的所有端口似乎都由其关联的应用程序正确处理。

的输出ip show

$ ip route show
default via 192.168.1.254 dev enp4s0f0 proto static metric 100
default via 108.223.xxx.222 dev enp4s0f1 proto static metric 101
default via 108.223.xxx.222 dev enp4s0f3 proto static metric 102
108.223.xxx.217 dev enp4s0f1 proto kernel scope link src 108.223.xxx.217 metric 100
108.223.xxx.217 dev enp4s0f3 proto kernel scope link src 108.223.xxx.217 metric 101
108.223.xxx.218 dev enp4s0f1 proto kernel scope link src 108.223.xxx.218 metric 100
108.223.xxx.218 dev enp4s0f3 proto kernel scope link src 108.223.xxx.218 metric 101
108.223.xxx.219 dev enp4s0f1 proto kernel scope link src 108.223.xxx.219 metric 100
108.223.xxx.219 dev enp4s0f3 proto kernel scope link src 108.223.xxx.219 metric 101
108.223.xxx.220 dev enp4s0f1 proto kernel scope link src 108.223.xxx.220 metric 100
108.223.xxx.220 dev enp4s0f3 proto kernel scope link src 108.223.xxx.220 metric 101
108.223.xxx.221 dev enp4s0f1 proto kernel scope link src 108.223.xxx.221 metric 100
108.223.xxx.221 dev enp4s0f3 proto kernel scope link src 108.223.xxx.221 metric 101
108.223.xxx.222 dev enp4s0f1 proto static scope link metric 100
108.223.xxx.222 dev enp4s0f3 proto static scope link metric 101
192.168.1.0/24 dev enp4s0f0 proto kernel scope link src 192.168.1.71 metric 100
192.168.1.71 dev enp4s0f3 proto kernel scope link src 192.168.1.71 metric 100

来自邮件日志的错误

Dec 16 18:14:53 localhost sendmail[77855]: vBGNErI1077873: [email protected], ctladdr=cdata (1000/1000), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30014, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (vBGNErDq077874 Message accepted for delivery)
Dec 16 18:24:12 localhost sendmail[77855]: vBGGdu99077513: to=<[email protected]>, ctladdr=<[email protected]> (1000/1000), delay=06:44:16, xdelay=00:10:00, mailer=esmtp, pri=750469, relay=alt4.gmail-smtp-in.l.google.com. [108.177.15.26], dsn=4.0.0, stat=Deferred: Connection timed out with alt4.gmail-smtp-in.l.google.com.
Dec 16 18:24:12 localhost sendmail[77855]: vBGGAGt4077433: to=<[email protected]>, ctladdr=<[email protected]> (1000/1000), delay=07:13:56, xdelay=00:00:00, mailer=esmtp, pri=840469, relay=alt4.gmail-smtp-in.l.google.com., dsn=4.0.0, stat=Deferred: Connection timed out with alt4.gmail-smtp-in.l.google.com.
Dec 16 18:24:12 localhost sendmail[77855]: vBGFweLX077340: to=<[email protected]>, ctladdr=<[email protected]> (1000/1000), delay=07:25:32, xdelay=00:00:00, mailer=esmtp, pri=930469, relay=alt4.gmail-smtp-in.l.google.com., dsn=4.0.0, stat=Deferred: Connection timed out with alt4.gmail-smtp-in.l.google.com.

netstat -tuplen | grep 25检查端口 25 是否打开的输出

$ sudo netstat -tuplen | grep 25
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      0          93443      10849/sendmail: acc

编辑:这被标记为关于转发 gmail 电子邮件的讨论的重复的答案。我不认为那是我所要求的。我正在尝试从我的服务器、我的域和 IP 地址发起一封电子邮件,并将其发送到远程电子邮件服务器。我阅读了该答案并试图收集一些见解,但我认为它不相关。如果是,请解释它是如何相关的。

接受答案后编辑:CentOS 6.2 sendmail 的答案:如何控制将邮件中继到 mx.google.com 时使用的 ip 号码实际上是正确的答案,但我永远不会这样认为,因为我不认为我正在转发一封电子邮件。感谢大家帮助我完成它。

email-server
  • 1 1 个回答
  • 3336 Views

1 个回答

  • Voted
  1. Best Answer
    Patrick Mevzek
    2017-12-20T19:39:27+08:002017-12-20T19:39:27+08:00

    看看https://www.unix-ninja.com/p/Changing_the_Source_IP_Address_in_Sendmail并确保绝对遵循格式,您之前需要一个反撇号Family(它没有出现在您的评论中,所以也许您忘记了?)。根据经验,它可以帮助您将其放在dnl语句的末尾,因此请尝试以下操作:

    CLIENT_OPTIONS(`Family=inet, Address=203.0.113.2')dnl
    

    只需将 IP 替换为连接到您的服务器的 IP(并确保没有防火墙切断来自该 IP 的传出连接)。

    然后:

    1. make在适当的目录中,例如/etc/mail
    2. 重新启动发送邮件

    在 make 之后,您可以直观地检查 .cf 文件,您应该会在其中看到您的 IP,表明CLIENT_OPTIONS已正确考虑了 IP。

    至于放在哪里,它确实可能是相关的,您的文件可能已经记录在案,否则您需要显示更多当前.mc文件。

    • 1

相关问题

  • 寻找开源电子邮件归档应用程序 [关闭]

  • 防止您看起来像垃圾邮件发送者的最佳做法 [重复]

  • 什么是允许POP邮箱用户打开和关闭Vaction AutoReply的快速且易于理解的PROCMAIL方式

  • 邮件服务器设置

  • 电子邮件标题包含在电子邮件正文中

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