使用smtp.gmail.com通过465端口从Google云计算引擎上的php发送电子邮件

时间:2019-02-12 10:06:19

标签: google-cloud-platform google-compute-engine

我有Google云计算服务器实例。而且我想使用PHPMailer函数使用smtp.gmail.com和端口465发送电子邮件。但返回错误:“ SMTP错误:无法验证。”

我不想使用任何第三方邮件提供商,例如Sendgrid,Mailgun,Mailjet和G Suite。

在其他服务器(如AWS)上,我们只需启用电子邮件设置和端口即可发送电子邮件。我不想集成任何第三方电子邮件提供商。

我是Google云服务器配置的新手。请有人帮我通过smtp.gmail.com从Google云计算引擎使用端口465发送电子邮件。

谢谢。

2 个答案:

答案 0 :(得分:0)

here,所述,您将必须使用具有GSuite域的SMTP中继代理服务。仅当您不想使用第三方电子邮件提供商时。使用SMTP realy代理服务,您只能使用端口465或587。

答案 1 :(得分:0)

我知道您的问题是在2019年2月问到的,但是我碰到了这个问题,想为可能找到您问题的人提供更多信息。

PHP非常适合发送电子邮件,因为它速度很快。 PHP邮件设置是在您的PHP.ini文件中配置的,大多数问题可以通过其中的某些设置解决。 Google云开放了端口465(ssl)和587(tls)供您使用。实际上,只有端口25是关闭的。您指定使用的是465,因此可以继续使用。问题是您正在尝试使用Google的SMTP系统,并且可能未设置正确的配置-因此系统无法对您进行身份验证。 PHP只是创建消息并将其交给系统发送。该系统的smptp系统需要有效的登录名才能发送邮件。请记住,PHP不需要身份验证即可使用。

如果您使用的是Wordpress,则可以使用POST SMTP(这是一个免费的wordpress插件)来帮助您进行配置。

遍历本文档以了解您可能需要配置哪些设置。

https://cloud.google.com/compute/docs/tutorials/sending-mail/

您说过不想使用GSuite,但是您应该通读设置文档,以便了解如何配置SMTP设置。我之所以提供了阅读文档的链接,是因为Google Compute Engine上的电子邮件并非易事,而且您在这里和那里要配置的东西很少。

https://www.jvfconsulting.com/blog/php-mail-function-vs-smtp-guaranteed-delivery/