由于某些原因,我无法弄清楚如何使用Gmail帐户,Appengine和Golang发送电子邮件。

这是我所做的:

我去了Google Cloud Platform> Appengine>设置>选择项目,然后在Email API授权的发件人上添加了gmail帐户。

我试图使用(https://golang.org/pkg/net/smtp/#pkg-examples)(func SendMail)中的代码来完成这项工作

package main

import (

    "log"
    "net/smtp"
)

func main() {

    // Set up authentication information.
    auth := smtp.PlainAuth("", "[email protected]", "password", "smtp.gmail.com")

    // Connect to the server, authenticate, set the sender and recipient,
    // and send the email all in one step.
    to := []string{"[email protected]"}
    msg := []byte("To: [email protected]\r\n" +
        "Subject: discount Gophers!\r\n" +
        "\r\n" +
        "This is the email body.\r\n")
    err := smtp.SendMail(smtp.gmail.com:587", auth, "[email protected]", to, msg)
    if err != nil {
        log.Fatal(err)
    }
}

在前端(JavaScript)上,尝试运行此代码后收到未成功的响应。

我已经在appengine登台服务器上运行了它

我尝试了不同的smtp服务器,端口,用户,但仍然无法使用(support.google.com/a/answer/176600?hl=zh-CN)

我在github和其他博客上找到了一些示例,并尝试了它们,但并没有什么不同。
github.com/golang/go/wiki/SendingMail

nathanleclaire.com/blog/2013/12/17/sending-email-from-gmail-using-golang/

在所有示例中,一切看起来都是直截了当的,但是肯定有一些我缺少或误解的地方。

最佳答案

在GAE上建立原始的TCP连接有一些限制:
https://cloud.google.com/appengine/docs/go/sockets/#limitations_and_restrictions

我建议使用GAE邮件api(与standart smtp软件包稍有不同)发送电子邮件:
https://cloud.google.com/appengine/docs/go/mail/sending-receiving-with-mail-api

关于google-app-engine - 转到,Appengine,SMTP,Gmail,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41050072/

10-16 06:59