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  }