Compare commits
No commits in common. "7607d29386b0befd83caf4accc53e2ff229607e4" and "04ec9bf9bfa81dac8628869001717f5efdcb4f0e" have entirely different histories.
7607d29386
...
04ec9bf9bf
|
|
@ -31,12 +31,6 @@ type GetFileListReq struct {
|
||||||
Md5 string `json:"md5" form:"md5"`
|
Md5 string `json:"md5" form:"md5"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type SendMailReq struct {
|
|
||||||
Title string `json:"title" form:"title"`
|
|
||||||
Content string `json:"content" form:"content"`
|
|
||||||
To string `json:"to" form:"to"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func SetUpToolGroup(router *gin.Engine) {
|
func SetUpToolGroup(router *gin.Engine) {
|
||||||
toolGroup := router.Group("/tool")
|
toolGroup := router.Group("/tool")
|
||||||
toolGroup.POST("/set_redis", SetRedis)
|
toolGroup.POST("/set_redis", SetRedis)
|
||||||
|
|
@ -51,8 +45,6 @@ func SetUpToolGroup(router *gin.Engine) {
|
||||||
toolGroup.POST("/file_del", DelFile)
|
toolGroup.POST("/file_del", DelFile)
|
||||||
//服务器、设备状态接口
|
//服务器、设备状态接口
|
||||||
toolGroup.POST("/monitor", SetDeviceStatusV2)
|
toolGroup.POST("/monitor", SetDeviceStatusV2)
|
||||||
//发送邮件
|
|
||||||
toolGroup.POST("/send_mail", SendMailTool)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func SetDeviceStatusV2(c *gin.Context) {
|
func SetDeviceStatusV2(c *gin.Context) {
|
||||||
|
|
@ -361,36 +353,3 @@ func SendMail(title, content string) {
|
||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func SendMailTool(c *gin.Context) {
|
|
||||||
id, _ := c.Get("id")
|
|
||||||
id1 := int(id.(float64))
|
|
||||||
|
|
||||||
var req SendMailReq
|
|
||||||
if err := c.ShouldBind(&req); err == nil {
|
|
||||||
user := dao.FindUserByUserID(id1)
|
|
||||||
if user.ID == 0 {
|
|
||||||
c.JSON(http.StatusOK, gin.H{"error": "user not found", "code": proto.ParameterError, "message": "failed"})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
//目标邮箱地址是否合法
|
|
||||||
if !service.CheckEmail(req.To) {
|
|
||||||
c.JSON(http.StatusOK, gin.H{"error": "email address is invalid", "code": proto.ParameterError, "message": "failed"})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if req.Title == "" || req.Content == "" {
|
|
||||||
c.JSON(http.StatusOK, gin.H{"error": "title or content is empty", "code": proto.ParameterError, "message": "failed"})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
//发送邮件
|
|
||||||
if user.Role == "admin" {
|
|
||||||
go service.SendEmail(req.To, req.Title, req.Content)
|
|
||||||
c.JSON(http.StatusOK, gin.H{"code": proto.SuccessCode, "message": "success", "data": "mail will be sent"})
|
|
||||||
} else {
|
|
||||||
c.JSON(http.StatusOK, gin.H{"error": "no send mail permission", "code": proto.PermissionDenied, "message": "failed"})
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
c.JSON(http.StatusOK, gin.H{"error": err.Error(), "code": proto.ParameterError, "message": "failed"})
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
package service
|
package service
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"regexp"
|
|
||||||
"time"
|
"time"
|
||||||
"videoplayer/proto"
|
"videoplayer/proto"
|
||||||
"videoplayer/worker"
|
"videoplayer/worker"
|
||||||
|
|
@ -78,38 +76,3 @@ func GetAllRedis() (code int, msg string, data []worker.RedisInfo) {
|
||||||
}
|
}
|
||||||
return proto.SuccessCode, "success", data
|
return proto.SuccessCode, "success", data
|
||||||
}
|
}
|
||||||
|
|
||||||
func SendEmail(email, subject, body string) {
|
|
||||||
//捕获异常
|
|
||||||
defer func() {
|
|
||||||
if err := recover(); err != nil {
|
|
||||||
fmt.Errorf("tool send mail error: %s", err)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
// TODO
|
|
||||||
// 发送邮件
|
|
||||||
// 邮件内容
|
|
||||||
// 邮件标题
|
|
||||||
// 收件人
|
|
||||||
// 发送邮件
|
|
||||||
// 发送邮件通知
|
|
||||||
// 发送邮件通知
|
|
||||||
var em worker.MyEmail
|
|
||||||
em.SmtpPassword = "nihzazdkmucnbhid"
|
|
||||||
em.SmtpHost = "pop.qq.com:587"
|
|
||||||
em.SmtpUserName = "354425203@qq.com"
|
|
||||||
em.SmtpPort = 587
|
|
||||||
em.ImapPort = 993
|
|
||||||
err := em.Send(subject, body, []string{email})
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println("send mail error:", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 地址校验
|
|
||||||
func CheckEmail(email string) bool {
|
|
||||||
//正则表达式判断是否是邮箱
|
|
||||||
pattern := `^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+$`
|
|
||||||
reg := regexp.MustCompile(pattern)
|
|
||||||
return reg.MatchString(email)
|
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue