package main import ( "fmt" "gopkg.in/gomail.v2" "log" ) type EmailParam struct { MailFrom string MailPassword string MailTo []string MailHost string MailPort int MailSubject string MailContent string } func main(){ email := EmailParam{ MailFrom:"987795300@qq.com", //发件人 MailPassword:"stiifwetcmngbaic", //密码(qq为授权码) MailTo:[]string{"weixuemei@twindefender.com"}, //收件人,可有多个 MailHost:"smtp.qq.com", //邮件服务器 MailPort:587, //邮件服务器端口 } email.MailSubject ="Hello" //邮件主题 email.MailContent ="Hello,This is a test" //邮件内容 err := SendMail(email) if err != nil { log.Fatal(err.Error()) } fmt.Println("send successfully") } func SendMail(emailParam EmailParam) error{ m := gomail.NewMessage() m.SetHeader("From",emailParam.MailFrom) m.SetHeader("To", emailParam.MailTo...) m.SetHeader("Subject", emailParam.MailSubject) m.SetBody("text/html", emailParam.MailContent) //m.SetHeader("Cc", toers...) //抄送 d := gomail.NewDialer(emailParam.MailHost, emailParam.MailPort, emailParam.MailFrom, emailParam.MailPassword) err := d.DialAndSend(m) if err != nil{ return err } return nil }