You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
761 B
34 lines
761 B
4 years ago
|
package service
|
||
|
|
||
|
import (
|
||
|
"../conf"
|
||
|
"gopkg.in/gomail.v2"
|
||
|
"strconv"
|
||
|
)
|
||
|
|
||
|
type Email struct {
|
||
|
host string
|
||
|
port string
|
||
|
user string
|
||
|
pass string
|
||
|
}
|
||
|
|
||
|
func NerEmail(conf *conf.Config) *Email {
|
||
|
host:=conf.Read("smtp","email_host")
|
||
|
port:=conf.Read("smtp","port")
|
||
|
user:=conf.Read("smtp","email_user")
|
||
|
pass:=conf.Read("smtp","email_pwd")
|
||
|
return &Email{host: host,port: port,user: user,pass: pass}
|
||
|
}
|
||
|
|
||
|
func (this *Email) SendMail(mailTo []string,subject,body string) error {
|
||
|
port, _ := strconv.Atoi(this.port)
|
||
|
m:=gomail.NewMessage()
|
||
|
m.SetHeader("From", "<" + this.user + ">")
|
||
|
m.SetHeader("To", mailTo...)
|
||
|
m.SetHeader("Subject",subject)
|
||
|
m.SetBody("text/html",body)
|
||
|
d := gomail.NewDialer(this.host,port,this.user,this.pass)
|
||
|
err:=d.DialAndSend(m)
|
||
|
return err
|
||
|
}
|