由于某些原因,我无法弄清楚如何使用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/