GAE 中 Dockerized Golang Web App 中的 smtp sendmail 不起作用



我在 Go 中的 GAE wriiten 上部署了一个 dockerized Web 应用程序。支付模块使用条纹结账 API,成功后会触发电子邮件通知。

在调试时,我观察到以下代码行未执行。我尝试了端口 587,结果是一样的。

err := smtp.SendMail("smtp.gmail.com:465", auth, from, []string{to}, []byte(msg))

我的本地m/c上有相同的应用程序,并且此功能适用于它。不过,我没有在我的本地m/c上使用docker。

我在"发件人"用户字段中使用与我的 GAE 帐户相同的用户凭据。 这可能是代码失败的原因吗?或者应该在 dockerfile 中描述 smtp 服务身份验证参数以及要公开的端口。鉴于只有 4 个端口可用,在 GAE 中映射端口 465 或 587 的正确方法是什么? 我正在使用 Golang 图像 1.7.1

Docker 日志不显示任何错误。但是电子邮件没有发送。

容器的 etc/resolv.conf 具有以下 DNS 条目

search c.cloud-devshell-prod.internal. google.internal.
nameserver 169.254.169.254
options: ndots5

任何建议将不胜感激。

谢谢

按照链接上的说明进行操作

https://cloud.google.com/appengine/docs/flexible/go/sending-emails-with-mailgun

使用mailgun设置和帐户并使其工作。邮件在运行 docker 后发送。

最新更新