package controllers import ( "crypto/tls" "github.com/astaxie/beego" "github.com/astaxie/beego/logs" "gopkg.in/gomail.v2" "html/template" "io" "os" ) type SendEmailController struct { beego.Controller } // @Title SendEmail // @Description 发送邮件a // @router /email [get] func (c *SendEmailController) Email() { email := c.Ctx.Input.Query("email") if email == "" { //c.Ctx.WriteString("接收的邮件地址必填" ) email = "hwf452@163.com" } subject := "MT4开单信号提示" m := gomail.NewMessage() m.SetHeader("From", "273217031@qq.com") //m.SetHeader("To", "273217031@qq.com") m.SetHeader("To", email) if subject == "" { m.SetHeader("Subject", "Hello!") } else { m.SetHeader("Subject", subject) } emailContent := "黄金做多开单,触发5分钟周期开单信号" data := map[string]interface{}{"UserName": "273217031@qq.com", "From": "273217031@qq.com", "To": email, "emailContent": emailContent} t3, errHtml := template.ParseFiles("body.html") //将一个文件读作模板 if errHtml != nil { logs.Debug("errHtml") } t3.Execute(os.Stdout, data) m.AddAlternativeWriter("text/html", func(w io.Writer) error { return t3.Execute(w, data) }) d := gomail.NewDialer("smtp.qq.com", 465, "273217031@qq.com", "kvppflvecaekbiei") d.TLSConfig = &tls.Config{ServerName: "smtp.qq.com", InsecureSkipVerify: true} if err := d.DialAndSend(m); err != nil { logs.Debug(err) } logs.Debug(email) c.ServeJSON() }