重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
golang中怎么利用smtp发送电子邮件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
创新互联建站是一家专业提供新荣企业网站建设,专注与网站设计、网站制作、H5高端网站建设、小程序制作等业务。10年已为新荣众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
代码如下:
package main import ( "fmt" "net/mail" "net/smtp" "encoding/base64" ) func main() { b64 := base64.NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/") host := "smtp.mail.com" email := "mail1@mail.com" password := "password" toEmail := "mail2@mail.com" from := mail.Address{"发送人", email} to := mail.Address{"接收人", toEmail} header := make(map[string]string) header["From"] = from.String() header["To"] = to.String() header["Subject"] = fmt.Sprintf("=?UTF-8?B?%s?=", b64.EncodeToString([]byte("邮件标题2"))) header["MIME-Version"] = "1.0" header["Content-Type"] = "text/html; charset=UTF-8" header["Content-Transfer-Encoding"] = "base64" body := "我是一封电子邮件!golang发出."; message := "" for k, v := range header { message += fmt.Sprintf("%s: %s\r\n", k, v) } message += "\r\n" + b64.EncodeToString([]byte(body)) auth := smtp.PlainAuth( "", email, password, host, ) err := smtp.SendMail( host+":25", auth, email, []string{to.Address}, []byte(message), ) if err != nil { panic(err) } }
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。