@
目录写在前面
install
go get gopkg.in/gomail.v2
gomail
import (
"gopkg.in/gomail.v2"
)
type Mail struct {
Host string
Port int
User string
Key string
To []string
}
type Mail struct {
*Email
dial gomail.SendCloser
message *gomail.Message
}
func New() *Mail {
m := &Mail{Email:*Email{}, message: gomail.NewMessage()}
err := m.Dial()
if err != nil {
return nil
}
return m
}
func (m *Mail) Recovery() error {
return m.Dial()
}
func (m *Mail) Dial() error {
d := gomail.NewDialer(m.Host, m.Port, m.User, m.Key)
s, err := d.Dial()
if err != nil {
return err
}
m.dial = s
return nil
}
func (m *Mail) Send(subject, body string) error {
m.message.SetHeader("From", m.User)
m.message.SetHeader("To", m.To...)
m.message.SetHeader("Subject", subject)
m.message.SetBody("text/html", body)
if err := gomail.Send(m.dial, m.message); err != nil {
return err
}
return nil
}
参考资料
基础/标准库/第三方库
golang 导航
编程规范
算法|面试
项目
标签:return,err,golang,go,gomail,message From: https://www.cnblogs.com/nones/p/18220490