email.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package email
  2. import (
  3. "fmt"
  4. "os"
  5. "time"
  6. "go-common/library/log"
  7. gomail "gopkg.in/gomail.v2"
  8. )
  9. //SendMail send the email.
  10. func (d *Dao) SendMail(date time.Time, body string, subject string, send ...string) (err error) {
  11. log.Info("send mail send:%v", send)
  12. msg := gomail.NewMessage()
  13. msg.SetHeader("From", d.c.Mail.Username)
  14. msg.SetHeader("To", send...)
  15. msg.SetHeader("Subject", fmt.Sprintf(subject, date.Year(), date.Month(), date.Day()))
  16. msg.SetBody("text/html", body)
  17. if err = d.email.DialAndSend(msg); err != nil {
  18. log.Error("s.email.DialAndSend error(%v)", err)
  19. return
  20. }
  21. return
  22. }
  23. //SendMailAttach send the email.
  24. func (d *Dao) SendMailAttach(filename string, subject string, send []string) (err error) {
  25. msg := gomail.NewMessage()
  26. msg.SetHeader("From", d.c.Mail.Username)
  27. msg.SetHeader("To", send...)
  28. msg.SetHeader("Subject", subject)
  29. msg.Attach(filename)
  30. if err = d.email.DialAndSend(msg); err != nil {
  31. log.Error("s.email.DialAndSend error(%v)", err)
  32. return
  33. }
  34. err = os.Remove(filename)
  35. return
  36. }