|
@@ -4,11 +4,12 @@ import (
|
|
|
"fmt"
|
|
|
"gopkg.in/gomail.v2"
|
|
|
"mime"
|
|
|
+ "strconv"
|
|
|
"strings"
|
|
|
)
|
|
|
|
|
|
//发送邮件
|
|
|
-func SendEmail(title, content string, touser string)bool {
|
|
|
+func SendEmail(title, content string, touser string) bool {
|
|
|
var arr []string
|
|
|
sub := strings.Index(touser, ";")
|
|
|
if sub >= 0 {
|
|
@@ -16,23 +17,39 @@ func SendEmail(title, content string, touser string)bool {
|
|
|
for _, v := range spArr {
|
|
|
arr = append(arr, v)
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
arr = append(arr, touser)
|
|
|
}
|
|
|
+ mailConn := map[string]string{
|
|
|
+ "user": "18170239278@163.com",
|
|
|
+ "pass": "JYWLATLVZJROWMWZ",
|
|
|
+ "host": "smtp.163.com",
|
|
|
+ "port": "25",
|
|
|
+ }
|
|
|
+ mailPort, _ := strconv.Atoi(mailConn["port"]) //转换端口类型为int
|
|
|
+
|
|
|
m := gomail.NewMessage()
|
|
|
- m.SetHeader("From", "317699326@qq.com ")
|
|
|
+ //m.SetHeader("From", mailConn["user"])
|
|
|
+ m.SetHeader("From", m.FormatAddress(mailConn["user"], 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, "317699326@qq.com", "oqdypwfcvruwcbea")
|
|
|
+ //d := gomail.NewDialer("smtp.qq.com", 587, "317699326@qq.com", "vukbwzijfhclbjij")
|
|
|
+ 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 {
|
|
|
+func SendEmailByHongze(title, content string, touser, attachPath, attachName string) bool {
|
|
|
var arr []string
|
|
|
sub := strings.Index(touser, ";")
|
|
|
if sub >= 0 {
|
|
@@ -40,12 +57,11 @@ func SendEmailByHongze(title, content string, touser,attachPath,attachName strin
|
|
|
for _, v := range spArr {
|
|
|
arr = append(arr, v)
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
arr = append(arr, touser)
|
|
|
}
|
|
|
m := gomail.NewMessage()
|
|
|
|
|
|
-
|
|
|
m.SetHeader("From", "public@hzinsights.com")
|
|
|
m.SetHeader("To", arr...)
|
|
|
m.SetHeader("Subject", title+" "+GetRandStringNoSpecialChar(8))
|
|
@@ -56,14 +72,14 @@ func SendEmailByHongze(title, content string, touser,attachPath,attachName strin
|
|
|
m.Attach(attachPath,
|
|
|
gomail.Rename(attachName),
|
|
|
gomail.SetHeader(map[string][]string{
|
|
|
- "Content-Disposition": []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())
|
|
|
+ fmt.Println("send err:", err.Error())
|
|
|
return false
|
|
|
}
|
|
|
return true
|