端口 465 - 在 GCP 中不起作用

端口 465 - 在 GCP 中不起作用

我在 GCP 中有一个运行 ubuntu 服务器的虚拟机。在 GCP 防火墙中,我创建了一条规则以启用端口 465 上的传入流量,但是当我使用该端口远程登录到我的 IP 时,出现错误并且无法连接。我的 ubuntu 防火墙已禁用。

我在此服务器上的 Web 应用程序中使用 phpmailer。这里有什么问题?据我了解,默认情况下,此端口已启用。


这是我的 ubuntu 防火墙配置:

在此处输入图片描述

GGP防火墙配置:

在此处输入图片描述

以及你所给我的命令的结果:

在此处输入图片描述

我期待您的评论。谢谢

答案1

谷歌阻挡一些交通由于存在滥用风险。在 GCP 中运行自己的邮件服务器是没有意义的,除非您只需要接收电子邮件(但您无法发送它们)。

查看关于从 GCP 发送电子邮件的文档

默认情况下,Compute Engine 允许除端口 25 之外的所有端口上的出站连接,端口 25 因存在滥用风险而被阻止。所有其他端口均开放,包括端口 587 和 465。

最好使用第三方解决方案来发送电子邮件 - 例如 MailJet 或 SendGrid。

除了使用标准电子邮件端口之外,拥有可信赖的第三方提供商(例如 SendGrid、Mailgun 或 Mailjet)还可以减轻 Compute Engine 和您维护接收者 IP 信誉的负担。

以下是有关如何设置它们的更多信息

看看我对类似问题的回答这里

然而 - 考虑到你的情况 - 你应该能够连接但您必须发布有关服务器配置的更多详细信息才能解决此问题。

您可以使用 检查端口是否打开nmap -p 465 EXTERNAL_IP_VM;您应该会看到类似这样的内容:

wb@cloudshell:~$ nmap -p 53 1.1.1.1
Starting Nmap 7.70 ( https://nmap.org ) at 2020-11-05 11:20 UTC
Nmap scan report for one.one.one.one (1.1.1.1)
Host is up (0.0046s latency).

PORT   STATE SERVICE
53/tcp open  domain

Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds

STATE open表示此端口已开放通信。但是如果您收到465/tcp filtered smtps此信息,则表示无法正常工作。

如果端口已打开,请确保有任何东西正在监听它,请通过 ssh 进入您的虚拟机并检查sudo lsof -nP -iTCP -sTCP:LISTEN | grep 465是否有任何东西正在监听该端口。我检查了端口 80 并得到:

wb@deb10-sample-www-page:~$ sudo lsof -nP -iTCP -sTCP:LISTEN | grep *:80
nginx   7631     root    6u  IPv4  29349      0t0  TCP *:80 (LISTEN)
nginx   7631     root    7u  IPv6  29350      0t0  TCP *:80 (LISTEN)
nginx   7709 www-data    6u  IPv4  29349      0t0  TCP *:80 (LISTEN)
nginx   7709 www-data    7u  IPv6  29350      0t0  TCP *:80 (LISTEN)
nginx   7710 www-data    6u  IPv4  29349      0t0  TCP *:80 (LISTEN)
nginx   7710 www-data    7u  IPv6  29350      0t0  TCP *:80 (LISTEN)


更新

您的操作系统防火墙设置正确。端口 465 对传入和传出流量均开放。

您的 GCP 防火墙规则也以正确的方式设置。

从最后一张截图中我可以清楚地看到端口 465 处于closed状态,这意味着 nmap 能够连接并从操作系统获得响应,但没有应用程序在其上监听。

问题出在您的 phpmailer 配置上。我在 Stack 上找到了一些有用的讨论,可以帮助您:

相关内容