![我已经设置 Postfix 使用 SMTP.Gmail.com 服务器发送邮件,邮件仅在服务器重启时发送?](https://linux22.com/image/1195176/%E6%88%91%E5%B7%B2%E7%BB%8F%E8%AE%BE%E7%BD%AE%20Postfix%20%E4%BD%BF%E7%94%A8%20SMTP.Gmail.com%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8F%91%E9%80%81%E9%82%AE%E4%BB%B6%EF%BC%8C%E9%82%AE%E4%BB%B6%E4%BB%85%E5%9C%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%87%8D%E5%90%AF%E6%97%B6%E5%8F%91%E9%80%81%EF%BC%9F.png)
我是一个 Linux 初学者,所以可能会做一些愚蠢的事情,
我的问题,
我正在设置 Ubuntu 服务器 LTS 22.04.2,为了在有更新时收到电子邮件,我正在尝试让邮件和 postfix 正常工作。
我有一个非常奇怪的问题,我按照指南设置了 postfix 和我的 gmail 账户,以便通过 google smtp 服务器发送,当我用
echo "Test email" | mail -s "Test subject" email adres
似乎发送成功,输出为 0,表示成功(但没有收到邮件),如果我用这个命令检查队列
mailq
然后我看到队列中的邮件内容为:(连接到 smtp.gmail.com[0.0.0.0]:587: 连接被拒绝)(我不知道为什么地址是 0.0.0.0??)
但真正让人吃惊的是,我只需简单地用“重启”重启服务器,一旦服务器启动,我就能收到邮件!!!!!!(如果队列中有多个邮件,甚至会收到多封邮件)
我正在使用 UFW 防火墙,但即使禁用它,我仍然遇到同样的问题。
简单地停止并启动 postfix 是不起作用的,重新启动 postfix 服务也不起作用,唯一有效的方法是完全重新启动服务器。
编辑:一些额外的日志信息;当我尝试发送一封停留在队列中的邮件时,mail.log;
6月6日 16:07:52 theboyz postfix/smtp[5425]: D14805E8FF6:[电子邮件保护],relay=none,delay=5.2,delays=5.2/0.02/0/0,dsn=4.4.1,status=deferred(连接到 smtp.gmail.com[0.0.0.0]:587: > 6 月 6 日 16:07:53 theboyz postfix/postfix-script[5474]: 刷新 Postfix 邮件系统 6 月 6 日 16:07:53 theboyz postfix/master[2082]: 重新加载 -- 版本 3.6.4,配置 /etc/postfix
重启服务器后邮件日志,邮件发送;
6 月 6 日 18:30:56 theboyz postfix/master[1855]: 重新加载 -- 版本 3.6.4,配置 /etc/postfix 6 月 6 日 18:30:56 theboyz postfix/smtp[2474]: D14805E8FF6:[电子邮件保护],relay=smtp.gmail.com[173.194.69.109]:587,delay=8590,delays=8587/0.12/1.5/0.76,dsn=2.0.0,status=sent(250 2.0.0 OK 168> 6月6日 18:30:57 theboyz postfix/postfix-script[3298]:刷新 Postfix 邮件系统 6月6日 18:30:57 theboyz postfix/master[1855]:重新加载--版本 3.6.4,配置/etc/postfix 6月6日 18:30:57 theboyz postfix/qmgr[3304]:D14805E8FF6:from=root@theboyz,size=324,nrcpt=1(队列活动) 6月6日 18:30:57 theboyz postfix/qmgr[3304]: D14805E8FF6: 已删除 6 月 6 日 18:30:57 theboyz postfix/postfix-script[3375]: 正在刷新 Postfix 邮件系统 6 月 6 日 18:30:57 theboyz postfix/master[1855]: 重新加载 -- 版本 3.6.4,配置 /etc/postfix
我看到的唯一区别是,当 SMTP 服务器发生故障时,它的 IP 为 0.0.0.0,而当我重新启动时,它在日志中获得了 IP?所以我猜“某些东西”仍然在启动,从而搞砸了这一切,但我的防火墙暂时被禁用了。
额外编辑,当我通过 telnet 访问 google smtp 服务器时,我也得到了奇怪的 0.0.0.0 IP??
telnet smtp.gmail.com 587 尝试 0.0.0.0... 尝试 ::... telnet: 无法连接到远程主机:连接被拒绝 root@theboyz:~#
我一直在研究它,我发现网站表明发送 IPV6 存在问题,但服务器只理解 IPV4?但仍然不知道为什么它在重启期间可以工作?
有人可以给我指出正确的方向吗?
先感谢您,
汉斯
答案1
好的,问题解决了。
我是个白痴(我从一开始就这么说:))
我刚刚检查了我在服务器上的 docker 中运行的 adguard home,它有超过 6000 个针对 smtp.gmail.com /facepalm 的请求被阻止
我把 Gmail 地址放在了例外列表中,现在一切正常,
猜测它在启动过程中 docker 和 adguard home 激活之前发送了邮件
不过还有一件奇怪的事情,我已将我的 ubuntu 服务器设置为使用 8.8.8.8 DNS 服务器,而不是我自己的 adguard home,专门为了避免这个问题,所以奇怪的是它仍然使用 adguard home 的 DNS 服务器???
哦,好吧,很抱歉打扰大家,问题解决了:)
谢谢您的帮助。