尝试使用 postfix 发送邮件时连接被拒绝

问题描述 投票:0回答:3

我想使用 PHP 中的 mail() 函数。为了做到这一点,我安装了 postfix。我正在 Ubuntu 18.04 上运行。

我的问题是我无法发送邮件,因为我有“连接被拒绝”输出。

在终端中,我尝试:


    echo "这是电子邮件的正文" | mail -s“这是主题行” [email protected]

我在 mail.log 中得到了这个输出


    1 月 11 日 01:14:39 AiliganonPC postfix/pickup[9411]: 207FE16016CD: uid=0 from=
    1 月 11 日 01:14:39 AiliganonPC postfix/cleanup[12552]: 207FE16016CD: message-id=<[email protected]>
    1 月 11 日 01:14:39 AiliganonPC postfix/qmgr[9412]:207FE16016CD:from=,size=370,nrcpt=1(队列活动)
    Jan 11 01:14:39 AiliganonPC postfix/smtp[12554]:连接到 gmail-smtp-in.l.google.com[2a00:1450:4010:c0e::1a]:25:网络无法访问
    Jan 11 01:14:39 AiliganonPC postfix/smtp[12554]:连接到 gmail-smtp-in.l.google.com[74.125.131.27]:25:连接被拒绝
    Jan 11 01:14:39 AiliganonPC postfix/smtp[12554]:连接到 alt1.gmail-smtp-in.l.google.com[2404:6800:4008:c13::1a]:25:网络无法访问
    1 月 11 日 01:14:39 AiliganonPC postfix/smtp[12554]:连接到 alt1.gmail-smtp-in.l.google.com[142.250.157.27]:25:连接被拒绝
    Jan 11 01:14:39 AiliganonPC postfix/smtp[12554]:连接到 alt2.gmail-smtp-in.l.google.com[2607:f8b0:400e:c06::1b]:25:网络无法访问
    1 月 11 日 01:14:39 AiliganonPC postfix/smtp[12554]:207FE16016CD:to=,中继=无,延迟=0.28,延迟=0.02/0.01/0.24/0,dsn=4.4.1,状态=延迟(连接到 alt2.gmail-smtp-in.l.google.com[2607:f8b0:400e:c06::1b]:25:网络无法访问)

此外,以下命令的输出:


    telnet alt2.gmail-smtp-in.l.google.com 25


    正在尝试 108.177.98.26...
    尝试 2607:f8b0:400e:c06::1b...
    telnet:无法连接到远程主机:网络无法访问

我尝试过的:

验证我的端口 25 已打开并且未被防火墙阻止:


    须藤 lsof -i:25


    命令 PID 用户 FD 类型 设备大小/关闭 节点名称
    主控 12899 根 13u IPv4 4027269 0t0 TCP *:smtp(监听)
    主控 12899 根 14u IPv6 4027270 0t0 TCP *:smtp(监听)

禁用我的防火墙

我还尝试过使用不同的邮件地址(不在 gmail 上)并获得相同的输出。

在 /etc/postfix/main.cf 中,我将 inet_protocols 从 all 更改为 ipv4,然后将其恢复为“all”。

这是我的文件的配置:


    smtpd_relay_restrictions=permit_mynetworkspermit_sasl_authenticated defer_unauth_destination
    我的主机名 = example.com
    alias_maps = 哈希:/etc/aliases
    alias_database = 哈希:/etc/aliases
    mydestination = $myhostname、ailiganonpc、AiliganonPC、localhost.localdomain、localhost
    中继主机 =
    mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
    邮箱大小限制 = 0
    收件人分隔符 = +
    inet_interfaces = 全部
    inet_协议 = 全部

php email smtp port postfix-mta
3个回答
0
投票

不确定为什么会出现错误,但这里有一些故障排除提示可能有助于解决此问题。

您的 DNS 似乎正常工作,但您的网络中的某些内容导致了问题,您可以 ping 通 Google 服务器吗?您的 ISP 是否可能出于某种原因阻止端口 25?

netstat -tuplen
的输出是什么?

您的后缀似乎正在运行,您是否尝试过远程登录到自己?


0
投票

我敢打赌,您的 ISP 会像大多数 ISP 一样阻止端口 25。 您可以解除此限制,具体取决于您的提供商。

谢谢你,

kewwwa


0
投票
  1. 我发现 AT&T 阻止来自我的主机的端口 25 连接,但允许连接到我的主机上的端口 25。他们将根据要求移除该块。

  2. 您的 IP 的 rDNS 必须可解析为您的 MX。如果(例如)AT&T 是您的提供商,他们可以在其末端添加一条 DNS 记录来执行此操作。

  3. 一些电子邮件提供商希望在您的域名注册中看到 SPF、DMARC 和 DKIM 规范。互联网上有很多关于如何执行此操作的帖子。

您可以感谢垃圾邮件发送者使这一切变得必要。

© www.soinside.com 2019 - 2024. All rights reserved.