add send email

master
wenfei 3 weeks ago
parent edde45bb9d
commit 34fbd423ed

@ -0,0 +1,31 @@
<p style="text-indent: 0em; text-align: left;">
你好,{{.UserName}}<br/>
</p>
<p style="text-indent: 0em; text-align: left;">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;您的邮件已发送成功,祝您生活愉快!<a href="https://www.hao123.com" target="_self">浏览网页,请点击</a>
</p>
<table width="100%" style="border-collapse:collapse;">
<tbody>
<tr class="firstRow">
<td width="10%" valign="top" style="word-break: break-all;border: 1px solid #e1e1e1;">
<span style="color: rgb(165, 165, 165);">邮件发送方</span>
</td>
<td width="20%" valign="top" style="word-break: break-all;border: 1px solid #e1e1e1;">
<span style="color: rgb(165, 165, 165);">邮件接收方</span>
</td>
</tr>
<tr class="secondRow">
<td width="10%" valign="top" style="word-break: break-all;border: 1px solid #e1e1e1;">
{{.From}}
</td>
<td width="20%" valign="top" style="word-break: break-all;border: 1px solid #e1e1e1;">
{{.To}}
</td>
</tr>
<tr class="thirdRow">
<td width="10%" valign="top" style="word-break: break-all;border: 1px solid #e1e1e1;">
{{.emailContent}}
</td>
</tr>
</tbody>
</table>

@ -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()
}

@ -56,6 +56,8 @@ require (
golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1 // indirect golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1 // indirect
golang.org/x/text v0.26.0 // indirect golang.org/x/text v0.26.0 // indirect
google.golang.org/protobuf v1.23.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/ini.v1 v1.51.0 // indirect
gopkg.in/yaml.v2 v2.3.0 // indirect gopkg.in/yaml.v2 v2.3.0 // indirect
) )

@ -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 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= 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/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 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-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-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/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/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= 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 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno=
gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA=

@ -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/satori/go.uuid || echo github.com/satori/go.uuid
go get github.com/beego/bee || echo github.com/beego/bee 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 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 go install github.com/beego/bee/v2@latest

@ -1 +1 @@
{"/Users/edao/go/src/goftp/controllers":1565924934000000000} {"/Users/admin/GolandProjects/goftp/controllers":1774605101250870961,"/Users/edao/go/src/goftp/controllers":1565924934000000000}

@ -79,4 +79,13 @@ func init() {
Filters: nil, Filters: nil,
Params: 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})
} }

@ -20,6 +20,10 @@ func setNs() {
beego.NSInclude( beego.NSInclude(
&v1.IpController{}, &v1.IpController{},
)), )),
beego.NSNamespace("/sendEmail",
beego.NSInclude(
&v1.SendEmailController{},
)),
) )
beego.AddNamespace(ns) beego.AddNamespace(ns)
} }

Loading…
Cancel
Save