最近我将我的网站移至GCE,现在没有发送电子邮件。我使用gmail的smtp服务器通过端口465发送它们。
一个简单的谷歌搜索指向this article,他们说我必须使用像SendGrid这样的第三方解决方案。
奇怪的是,我可以定期发送电子邮件。我正在测试我的网站,我可以发送一个简单的电子邮件,其中包含" Hello world"在邮件正文中。但是,当我向正文消息添加链接(URL地址)时,不会发送电子邮件。
这是预期的行为吗?有工作吗?
我认为谷歌即使拥有自己的Gmail服务器也不允许发送电子邮件,这是愚蠢的。
答案 0 :(得分:1)
显然Google Cloud(尽管他们声称的内容)确实允许smtp流量。我为所有IP地址添加了端口tcp:465的防火墙例外。
此外,包含链接的电子邮件正在发送到垃圾邮件箱,但仅限于我的电子邮件帐户。我把它发送到另一个帐户,它运作得很好。
[编辑]
GCE对链接问题无所事事。我的电子邮件内容设计不佳导致它进入垃圾邮件文件夹。
解决方案已经存在。打开正确的防火墙端口,你就可以了。
答案 1 :(得分:1)
也许这里有一些混乱。 " 尽管"他们说什么......
在Sending Email from an Instance上查看他们的文章并引用:
" Google Compute Engine不允许端口上的出站连接 25,465和587 但您仍然可以设置实例以发送邮件 使用通过合作伙伴提供的服务器通过端口587和465 服务,例如SendGrid。"
他们明确表示你 CAN 这样做。
此外,如果您使用自己的Google帐户进行身份验证以通过smtp.gmail.com
发送,则您将使用用户名和密码进行身份验证,就像任何标准电子邮件客户端一样。那么为什么不允许这样做呢?您基本上是以电子邮件客户端身份进行连接。
另一方面,您的链接问题与邮件的质量相关,因此被Gmail标记为垃圾邮件(GCE不会导致任何问题。),正如我在之前的评论中所怀疑的那样。您在这里主要使用Gmail,而不是与GCE直接相关的任何问题。
我希望这能澄清一些事情。