У меня есть страница контактов, которая должна отправлять электронную почту через gmail.Не удается отправить письмо через gmail
Вот код:
func sendContactEmail(subject string, email string, message string) {
auth := smtp.PlainAuth(
"contact form submit",
"[email protected]",
"mypassword",
"smtp.gmail.com",
)
// Connect to the server, authenticate, set the sender and recipient,
// and send the email all in one step.
body := subject + "\r\n" + email +"\r\n" + message
msg := "Subject: Contact us" + "\r\n\r\n" + body + "\r\n"
err := smtp.SendMail(
"smtp.gmail.com:587",
auth,
"[email protected]",
[]string{"[email protected]"},
[]byte(msg),
)
if err != nil {
log.Fatal(err)
}
return
}
func ContactPOST(w http.ResponseWriter, r *http.Request) {
// Get form values
subject := r.FormValue("subject")
email := r.FormValue("email")
message := r.FormValue("message")
go sendContactEmail(subject, email, message)
// Display the thank you page
v := view.New(r)
v.Name = "contact/thanks"
v.Render(w)
return
}
А вот сообщение об ошибке:
contact.go:41: 534 5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbti
5.7.14 HcGWI2H6QjVTNjHS4X49PcBxQQGNhL9TKnzdQxqYgeUXkWxpHj90RSAaIbI-ySSrKFTV4q
5.7.14 IVZeXExVeqhuZnPhtvUtx9p5Ly7gBxwFLzrrgWcm4NZ3_vhDOWiH-uDsPb5eoa4rbYCepd
5.7.14 PlD9kBBz1dAlhdRDJ7mwqsUMJUV7MHTgNWqTcT_R89Uq9oYtwurtmGAuv2YAkPTCBtPwXq
5.7.14 9ooL5edn_sTI6WJW72sK2ilMCIUB0> 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 63sm17219759wmg.2 - gsmtp
Странная вещь, что форма работает хорошо, когда я отправить почту на моей машине развития, и ошибка возникает только тогда, когда приложение развертывается на VPS, где http-сервер просто умирает после отображения страницы thank you
.
Я также пробовал звонить sendContactEmail
без goroutine, но все равно получаю ту же ошибку.
Я ценю ваши намеки, чтобы решить эту проблему.
Ну, я использую личную учетную запись (а не G-комплект), и я установил «Доступ для менее безопасных приложений». – graco
Обновление: в соответствии с рекомендациями по поиску и устранению неполадок Google, которые посещают эту страницу, 'https: // accounts.google.com/DisplayUnlockCaptcha' решил проблему. Пожалуйста, уточните свой ответ, и я приму его. – graco