在我的golang应用中,我使用this代码段从我的Gmail帐户发送电子邮件:
func send(body string) {
from := "myaccount@gmail.com"
pass := "mysupersecretpasswd"
to := "whoever@whatever.com"
msg := "From: " + from + "\n" +
"To: " + to + "\n" +
"Subject: Hello there\n\n" +
body
err := smtp.SendMail("smtp.gmail.com:587",
smtp.PlainAuth("", from, pass, "smtp.gmail.com"),
from, []string{to}, []byte(msg))
if err != nil {
log.Printf("smtp error: %s", err)
return
}
log.Print("sent, visit whatever)
}
我得到了这个错误:
smtp error: 534 5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbud
5.7.14 lxVDnr-tXOckmxXi0fxExY5BKDRczBpGvMCpGWGF97jAI5DlM2oeGMDcIkvBhKT9rJAVnH
5.7.14 WP7zxssynLtkzMb35et-wxJF2AfeBhMA81QqMh2F8fkQRdf9GidA3swFnjfsUl0Pw6fiMT
5.7.14 b3zvEJyD6WAKEWcuxEGJIBTaqCtfDjipQ58cFJweUiKg1_4AJp0fGpC9ufnjBGWqWVKeW9
5.7.14 QVbUstROYK0SzjWXTTvsvZhhG3RjM> Please log in via your web browser and
5.7.14 then try again.
5.7.14 Learn more at
5.7.14 https://support.google.com/mail/answer/78754 61sm6182123wre.44 - gsmtp
我在localhost上安装了postfix。我还允许安全性较低的应用访问我的帐户。 我也在我的VPS上尝试了相同的代码,但它也没有发送电子邮件。
那可能是什么错?我该如何解决?
答案 0 :(得分:1)
我已经复制了你的要点,替换为和密码,它完美无瑕。此代码无效的唯一原因是您不允许在Gmail中使用安全性较低的应用程序。