我创建了一个go应用程序,它使用net / smtp和PlainAuth发送电子邮件。一切都很好。但是,当我在谷歌应用引擎上部署相同的代码时,它不会发送。如果我使用goapp服务它在本地工作。以下是代码:
func sendMail(body string, subject string) {
var err error
var doc bytes.Buffer
auth := smtp.PlainAuth("",
"from@gmail.com",
"********",
"smtp.gmail.com")
parameters := &SmtpTemplateData{
"from@gmail.com",
"to@gmail.com",
"Subject",
body,
}
buffer := new(bytes.Buffer)
template := template.Must(template.New("emailTemplate").Parse(emailScript()))
template.Execute(buffer, parameters)
t := template.New("emailTemplate1")
t, err = t.Parse(emailTemplate)
if err != nil {
fmt.Println("error trying to parse mail template")
}
err = t.Execute(&doc, parameters)
smtp.SendMail(
"smtp.gmail.com:587",
auth,
"from@gmail.com",
[]string{"to@gmail.com"},
doc.Bytes(),
)
}