github.com/angenalZZZ/gofunc@v0.0.0-20210507121333-48ff1be3917b/f/mail.go (about) 1 package f 2 3 import "gopkg.in/gomail.v2" 4 5 // MailSMTP 邮箱服务器信息 6 type MailSMTP struct { 7 Port int `json:"port" default:"465"` // 163邮箱端口号 8 Host string `json:"host" default:"smtp.163.com"` // 163邮箱服务网址 9 User string `json:"user" default:"angenals@163.com"` // 发送邮件的账号 10 Pass string `json:"pass" default:""` // 密码或授权码 11 } 12 13 // MailMessage 收件人的电子邮件 14 type MailMessage struct { 15 Recipient []string // 收件人 16 Subject string // 邮件主题 17 Body string // 邮件内容 18 } 19 20 // MailOptions 电子邮件信息 21 type MailOptions struct { 22 MailSMTP // 邮箱服务器信息 23 MailMessage // 收件人的电子邮件 24 } 25 26 // MailSend 发送电子邮件 27 func MailSend(o *MailOptions) error { 28 m := gomail.NewMessage() 29 30 //设置发件人 31 m.SetHeader("From", o.MailSMTP.User) 32 33 //设置发送给多个用户 34 m.SetHeader("To", o.MailMessage.Recipient...) 35 36 //设置邮件主题 37 m.SetHeader("Subject", o.MailMessage.Subject) 38 39 //设置邮件正文 40 m.SetBody("text/html", o.MailMessage.Body) 41 42 d := gomail.NewDialer(o.MailSMTP.Host, o.MailSMTP.Port, o.MailSMTP.User, o.MailSMTP.Pass) 43 return d.DialAndSend(m) 44 }