diff --git a/body.html b/body.html
new file mode 100644
index 0000000..3f679f1
--- /dev/null
+++ b/body.html
@@ -0,0 +1,31 @@
+
+ 你好,{{.UserName}}
+
+
+ 您的邮件已发送成功,祝您生活愉快!浏览网页,请点击
+
+
+
+
+ |
+ 邮件发送方
+ |
+
+ 邮件接收方
+ |
+
+
+ |
+ {{.From}}
+ |
+
+ {{.To}}
+ |
+
+
+ |
+ {{.emailContent}}
+ |
+
+
+
\ No newline at end of file
diff --git a/controllers/SendEmailController.go b/controllers/SendEmailController.go
new file mode 100644
index 0000000..a210a87
--- /dev/null
+++ b/controllers/SendEmailController.go
@@ -0,0 +1,60 @@
+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()
+}
diff --git a/go.mod b/go.mod
index 06fbe26..8a0488e 100644
--- a/go.mod
+++ b/go.mod
@@ -56,6 +56,8 @@ require (
golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1 // indirect
golang.org/x/text v0.26.0 // indirect
google.golang.org/protobuf v1.23.0 // indirect
+ gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
+ gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df // indirect
gopkg.in/ini.v1 v1.51.0 // indirect
gopkg.in/yaml.v2 v2.3.0 // indirect
)
diff --git a/go.sum b/go.sum
index b2a459a..5a0142b 100644
--- a/go.sum
+++ b/go.sum
@@ -444,12 +444,16 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi
google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
+gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk=
+gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
+gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df h1:n7WqCuqOuCbNr617RXOY0AWRXxgwEyPp2z+p0+hgMuE=
+gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw=
gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno=
gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA=
diff --git a/install_goget.sh b/install_goget.sh
index dbb4c53..97004ec 100755
--- a/install_goget.sh
+++ b/install_goget.sh
@@ -11,6 +11,8 @@ go get github.com/astaxie/beego || echo github.com/astaxie/beego
go get github.com/satori/go.uuid || echo github.com/satori/go.uuid
go get github.com/beego/bee || echo github.com/beego/bee
go get github.com/go-sql-driver/mysql || echo github.com/go-sql-driver/mysql
+#发送电子邮件
+go get gopkg.in/gomail.v2 || echo gopkg.in/gomail.v2
go install github.com/beego/bee/v2@latest
diff --git a/lastupdate.tmp b/lastupdate.tmp
index 7f44f5a..6f7e299 100755
--- a/lastupdate.tmp
+++ b/lastupdate.tmp
@@ -1 +1 @@
-{"/Users/edao/go/src/goftp/controllers":1565924934000000000}
\ No newline at end of file
+{"/Users/admin/GolandProjects/goftp/controllers":1774605101250870961,"/Users/edao/go/src/goftp/controllers":1565924934000000000}
\ No newline at end of file
diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go
index 654b968..53d90d2 100644
--- a/routers/commentsRouter_controllers.go
+++ b/routers/commentsRouter_controllers.go
@@ -79,4 +79,13 @@ func init() {
Filters: nil,
Params: nil})
+ beego.GlobalControllerRouter["goftp/controllers:SendEmailController"] = append(beego.GlobalControllerRouter["goftp/controllers:SendEmailController"],
+ beego.ControllerComments{
+ Method: "Email",
+ Router: "/email",
+ AllowHTTPMethods: []string{"get"},
+ MethodParams: param.Make(),
+ Filters: nil,
+ Params: nil})
+
}
diff --git a/routers/router.go b/routers/router.go
index 0e7f136..f148254 100644
--- a/routers/router.go
+++ b/routers/router.go
@@ -20,6 +20,10 @@ func setNs() {
beego.NSInclude(
&v1.IpController{},
)),
+ beego.NSNamespace("/sendEmail",
+ beego.NSInclude(
+ &v1.SendEmailController{},
+ )),
)
beego.AddNamespace(ns)
}