github.com/admpub/mail@v0.0.0-20170408110349-d63147b0317b/util.go (about) 1 package mail 2 3 import ( 4 "net/mail" 5 ) 6 7 func MailAddr(name string, address string) *mail.Address { 8 return &mail.Address{ 9 Name: name, 10 Address: address, 11 } 12 } 13 14 type Attachments struct { 15 Files []string 16 BaseDir string 17 } 18 19 //SendMail 发送电邮 20 func SendMail(subject string, content string, receiver, sender string, 21 bcc []string, smtpConfig *SMTPConfig, attachments *Attachments) error { 22 c := NewSMTPClient(smtpConfig) 23 m := NewMail() 24 err := m.AddTo(receiver) //receiver e.g. "Barry Gibbs <bg@example.com>" 25 if err != nil { 26 return err 27 } 28 err = m.AddFrom(sender) 29 if err != nil { 30 return err 31 } 32 m.AddSubject(subject) 33 //m.AddText("Some text :)") 34 m.AddHTML(content) 35 if attachments != nil { 36 m.BaseDir = attachments.BaseDir 37 for _, v := range attachments.Files { 38 err = m.AddAttachment(v) 39 if err != nil { 40 return err 41 } 42 } 43 } 44 for _, addr := range bcc { 45 err = m.AddBCC(addr) 46 if err != nil { 47 return err 48 } 49 } 50 return c.Send(m) 51 }