golang-发送邮件
发布时间:2020-12-16 18:40:13 所属栏目:大数据 来源:网络整理
导读:亲测可用 package mainimport (m "chUtils/mail""fmt")func main() {email := m.NewEmail("305860361@qq.com","测试主题","测试了")err := m.SendEmail(email)if err != nil {fmt.Print(err)}} pre name="code" class="csharp"package mailimport ("fmt""net
亲测可用 package main import ( m "chUtils/mail" "fmt" ) func main() { email := m.NewEmail("305860361@qq.com","测试主题","测试了") err := m.SendEmail(email) if err != nil { fmt.Print(err) } } <pre name="code" class="csharp">package mail import ( "fmt" "net/smtp" "strings" ) const ( HOST = "smtp.163.com" SERVER_ADDR = "smtp.163.com:25" USER = "a15207146487@163.com" //发送邮件的邮箱 PASSWORD = "iadblvahqephdpzl" //发送邮件邮箱的密码 ) type Email struct { to string "to" subject string "subject" msg string "msg" } func NewEmail(to,subject,msg string) *Email { return &Email{to: to,subject: subject,msg: msg} } func SendEmail(email *Email) error { auth := smtp.PlainAuth("",USER,PASSWORD,HOST) sendTo := strings.Split(email.to,";") done := make(chan error,1024) go func() { defer close(done) for _,v := range sendTo { str := strings.Replace("From: "+USER+"~To: "+v+"~Subject: "+email.subject+"~~","~","rn",-1) + email.msg err := smtp.SendMail( SERVER_ADDR,auth,[]string{v},[]byte(str),) done <- err } }() for i := 0; i < len(sendTo); i++ { fmt.Println(<-done) } return nil } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |