【发布时间】:2022-07-13 15:36:27
【问题描述】:
我想在 PHP 中使用 mail() 函数。为了做到这一点,我安装了 postfix。我在 Ubuntu 18.04 上运行。
我的问题是我无法发送邮件,因为我有一个“连接被拒绝”的输出。
在终端,我试试:
echo "这是邮件正文" | mail -s "这是主题行" ailiganon@gmail.com我在 mail.log 中得到这个输出
1 月 11 日 01:14:39 AiliganonPC postfix/pickup[9411]: 207FE16016CD: uid=0 from=另外,以下命令的输出:
远程登录 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 (LISTEN) 主 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 = hash:/etc/aliases alias_database = hash:/etc/aliases mydestination = $myhostname, ailiganonpc, AiliganonPC, localhost.localdomain, localhost 中继主机 = 我的网络 = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 邮箱大小限制 = 0 收件人分隔符 = + inet_interfaces = 所有 inet_protocols = 所有【问题讨论】:
标签: php email smtp port postfix-mta