12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- package utils
- import (
- "fmt"
- "gopkg.in/gomail.v2"
- "mime"
- "strings"
- )
- //发送邮件
- func SendEmail(title, content string, touser string) bool {
- var arr []string
- sub := strings.Index(touser, ";")
- if sub >= 0 {
- spArr := strings.Split(touser, ";")
- for _, v := range spArr {
- arr = append(arr, v)
- }
- } else {
- arr = append(arr, touser)
- }
- //mailConn := map[string]string{
- // "user": "18170239278@163.com",
- // "pass": "JYWLATLVZJROWMWZ",
- // "host": "smtp.163.com",
- // "port": "465",
- //}
- //mailPort, _ := strconv.Atoi(mailConn["port"]) //转换端口类型为int
- m := gomail.NewMessage()
- //m.SetHeader("From", mailConn["user"])
- m.SetHeader("From", m.FormatAddress("qunao007@qq.com", APPNAME)) //这种方式可以添加别名,即“XX官方”
- // 说明:如果是用网易邮箱账号发送,以下方法别名可以是中文,如果是qq企业邮箱,以下方法用中文别名,会报错,需要用上面此方法转码
- //m.SetHeader("From", "FB Sample"+"<"+mailConn["user"]+">") //这种方式可以添加别名,即“FB Sample”, 也可以直接用<code>m.SetHeader("From",mailConn["user"])</code> 读者可以自行实验下效果
- //m.SetHeader("From", mailConn["user"])
- m.SetHeader("To", arr...)
- m.SetHeader("Subject", title+" "+GetRandString(16))
- m.SetBody("text/html", content)
- d := gomail.NewDialer("smtp.qq.com", 587, "qunao007@qq.com", "cyhjgffhaobteihd")
- //d := gomail.NewDialer(mailConn["host"], mailPort, mailConn["user"], mailConn["pass"])
- if err := d.DialAndSend(m); err != nil {
- fmt.Println("err:", err)
- return false
- }
- return true
- }
- //发送邮件
- func SendEmailByHongze(title, content string, touser, attachPath, attachName string) bool {
- var arr []string
- sub := strings.Index(touser, ";")
- if sub >= 0 {
- spArr := strings.Split(touser, ";")
- for _, v := range spArr {
- arr = append(arr, v)
- }
- } else {
- arr = append(arr, touser)
- }
- m := gomail.NewMessage()
- m.SetHeader("From", "public@hzinsights.com")
- m.SetHeader("To", arr...)
- m.SetHeader("Subject", title+" "+GetRandStringNoSpecialChar(8))
- m.SetBody("text/html", content)
- //body := new(bytes.Buffer)
- if attachPath != "" {
- m.Attach(attachPath,
- gomail.Rename(attachName),
- gomail.SetHeader(map[string][]string{
- "Content-Disposition": {
- fmt.Sprintf(`attachment; filename="%s"`, mime.QEncoding.Encode("UTF-8", attachName)),
- },
- }))
- }
- d := gomail.NewDialer("smtp.mxhichina.com", 465, "public@hzinsights.com", "Hzinsights2018")
- if err := d.DialAndSend(m); err != nil {
- fmt.Println("send err:", err.Error())
- return false
- }
- return true
- }
|