如何解决HTTP服务器发送电子邮件
我正在使用带有net / http的Go开发服务器,我想使用net / smtp发送电子邮件。
如果我在api函数中调用SendEmail,则未发送电子邮件,但api响应显示良好
func main() {
...
http.ListenAndServe("port",router) //In main func last line
}
//This is api function
func UpdatePassword(w http.ResponseWriter,r *http.Request) {
...
SendEmail()
json.NewEncoder(w).Encode(SomeData) //response
}
使用此代码api响应可以很好地显示,但是我看不到任何打印的失败或成功消息
和SendEmail功能
func SendMail() {
from := "my gmail"
pass := "pwd"
to := "email"
msg := ...
err := smtp.SendMail("smtp.gmail.com:587",smtp.PlainAuth("",from,pass,"smtp.gmail.com"),[]string{to},[]byte(msg))
if err != nil {
fmt.Print("Failed")
return
}
fmt.Print("Succeed")
}
在其他项目上进行测试,SendEmail功能效果很好。
我认为在goroutine中使用SendEmail函数可以解决此问题,但事实并非如此。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。