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



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

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

在终端中,我尝试:

echo "这是电子邮件的正文" | mail -s "这是主题行" ailiganon@gmail.com

我在邮件中得到这个输出.log

1月11日 01:14:39 AiliganonPC后缀/拾音[9411]: 207FE16016CD: uid=0 from=<root@AiliganonPC> 1 月 11 日 01:14:39 AiliganonPC 后缀/清理[12552]: 207FE16016CD: 消息 id=<20220111001439.207FE16016CD@example.com> 1 月 11 日 01:14:39 AiliganonPC 后缀/qmgr[9412]:207FE16016CD:from=<root@AiliganonPC>,大小=370,nrcpt=1(队列活动) 1月11日 01:14:39 AiliganonPC 后缀/smtp[12554]:连接到 gmail-smtp-in.l.google.com[2a00:1450:4010:c0e::1a]:25:无法访问网络 1月11日 01:14:39 AiliganonPC postfix/smtp[12554]:连接到gmail-smtp-in.l.google.com[74.125.131.27]:25:连接被拒绝 1 月 11 日 01:14:39 AiliganonPC 后缀/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:连接被拒绝 1月11日 01:14:39 AiliganonPC 后缀/smtp[12554]:连接到alt2.gmail-smtp-in.l.google.com[2607:f8b0:400e:c06::1b]:25:网络无法访问 1 月 11 日 01:14:39 AiliganonPC 后缀/smtp[12554]: 207FE16016CD: to=<ailiganon@gmail.com>, relay=none, delay=0.28, delays=0.02/0.01/0.24/0, dsn=4.4.1, status=deferred (连接到 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 是否已打开且未被防火墙阻止:

sudo lsof -i:25
命令 PID 用户 FD 类型 设备大小/关闭节点名称 master 12899 根 13u IPv4 4027269 0t0 TCP *:smtp (听) master 12899 根 14u IPv6 4027270 0t0 TCP *:smtp (LISTEN)

禁用我的防火墙

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

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

这是我文件的配置:

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination 我的主机名 = example.com alias_maps = 哈希:/etc/aliases alias_database = 哈希:/etc/aliases mydestination = $myhostname, ailiganonpc, AiliganonPC, localhost.localdomain, localhost 中继主机 = 我的网络 = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = 全部 inet_protocols = 全部

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

您的DNS似乎正在工作,但是您的网络中的某些东西导致了问题,您可以pingGoogle服务器吗,您的ISP是否出于任何原因阻止了端口25?

netstat -tuplen的输出是什么?

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

我敢打赌,您的 ISP 像大多数 ISP 一样阻止端口 25。 根据您的提供商,您可以解锁此限制。

Bien à vous,

科瓦

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

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

  3. 一些电子邮件提供商希望在您的域名注册中看到 SPF、DMARC 和 DKIM 规范。 有许多关于如何做到这一点的互联网帖子。

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

最新更新