golang实现通过smtp发送电子邮件的方法
发布时间:2020-12-16 19:31:08 所属栏目:大数据 来源:网络整理
导读:本篇章节讲解golang实现通过smtp发送电子邮件的方法。供大家参考研究具体如下: 今天写了一个公司的邮件发送后台服务,php只需要把邮件存入数据库,然后golang写的mailservice就会吧邮件发送出去.这个公司的代码就不发出来的,以为带有公司的业务逻辑
本篇章节讲解golang实现通过smtp发送电子邮件的方法。分享给大家供大家参考,具体如下: 今天写了一个公司的邮件发送后台服务,php只需要把邮件存入数据库,然后golang写的mailservice就会吧邮件发送出去.这个公司的代码就不发出来的,以为带有公司的业务逻辑,我把代码整理了一下发布出来供大家参考.呵呵 复制代码 代码如下: 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: %srn",k,v) } message += "rn" + b64.EncodeToString([]byte(body)) auth := smtp.PlainAuth( "", email, password, host, ) err := smtp.SendMail( host+":25", auth, []string{to.Address}, []byte(message), ) if err != nil { panic(err) } } 希望本文所述对大家Go语言程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |