123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- package utils
- import (
- "encoding/json"
- "fmt"
- "github.com/rdlucklib/rdluck_tools/http"
- "gopkg.in/gomail.v2"
- "mime"
- "strings"
- )
- var (
- AlarmMsgUrl = "http://127.0.0.1:8606/api/alarm/send"
- )
- // 发送邮件
- func SendEmail(title, content string, touser string) bool {
- if RunMode == "debug" {
- return false
- }
- 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", "317699326@qq.com ")
- 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")
- if err := d.DialAndSend(m); err != nil {
- return false
- }
- return true
- }
- // projectName-项目名称
- // runMode-运行模式
- // msgBody-消息内容
- // level:消息基本,1:提示消息,2:警告消息,3:严重错误信息,默认为1 提示消息
- func SendAlarmMsg(msgBody string, level int) {
- params := make(map[string]interface{})
- params["ProjectName"] = APPNAME
- params["RunMode"] = RunMode
- params["MsgBody"] = msgBody
- params["Level"] = level
- param, err := json.Marshal(params)
- if err != nil {
- FileLog.Info("SendAlarmMsg json.Marshal Err:" + err.Error())
- return
- }
- http.Post(AlarmMsgUrl, string(param))
- }
- // 发送邮件
- func SendEmailByHz(title, content string, touser string) (result bool, err error) {
- //if RunMode == "debug" {
- // result = false
- // return result, err
- //}
- 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", "hzcygx@hzinsights.com")
- m.SetHeader("To", arr...)
- m.SetHeader("Subject", title)
- m.SetBody("text/html", content)
- d := gomail.NewDialer("smtp.mxhichina.com", 465, "hzcygx@hzinsights.com", "Hzinsights2024")
- if err := d.DialAndSend(m); err != nil {
- result = false
- return result, err
- }
- result = true
- return
- }
- // 发送带有文件的邮件
- func SendEmailHaveFile(title, content string, fileName, 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)
- }
- m := gomail.NewMessage()
- m.SetHeader("From", "317699326@qq.com ")
- m.SetHeader("To", arr...)
- m.SetHeader("Subject", title)
- m.Attach(fileName)
- m.SetBody("text/html", content)
- d := gomail.NewDialer("smtp.qq.com", 587, "317699326@qq.com", "oqdypwfcvruwcbea")
- if err := d.DialAndSend(m); err != nil {
- 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", "hzcygx@hzinsights.com")
- m.SetHeader("To", arr...)
- m.SetHeader("Subject", title)
- m.SetBody("text/html", content)
- //body := new(bytes.Buffer)
- if attachPath != "" {
- m.Attach(attachPath,
- gomail.Rename(attachName),
- gomail.SetHeader(map[string][]string{
- "Content-Disposition": []string{
- fmt.Sprintf(`attachment; filename="%s"`, mime.QEncoding.Encode("UTF-8", attachName)),
- },
- }))
- }
- d := gomail.NewDialer("smtp.mxhichina.com", 465, "hzcygx@hzinsights.com", "Hzinsights2024")
- if err := d.DialAndSend(m); err != nil {
- fmt.Println("send err:", err.Error())
- return false
- }
- return true
- }
|