diff --git a/apps/resource/api/email.go b/apps/resource/api/email.go index 534526f..831fdd3 100644 --- a/apps/resource/api/email.go +++ b/apps/resource/api/email.go @@ -95,7 +95,12 @@ func (p *ResEmailsApi) InsertResEmails(rc *ctx.ReqCtx) { func (p *ResEmailsApi) UpdateResEmails(rc *ctx.ReqCtx) { var data entity.ResEmail ginx.BindJsonAndValid(rc.GinCtx, &data) - + if utils.ISDdmMail(data.From) { + data.From = "" + } + if utils.IsDdmPassword(data.Secret) { + data.Secret = "" + } p.ResEmailsApp.Update(data) } @@ -153,5 +158,5 @@ func (p *ResEmailsApi) DebugMail(rc *ctx.ReqCtx) { Secret: one.Secret, IsSSL: one.IsSSL, } - biz.ErrIsNil(ml.Email(data.To, email.TEXTTYPE, data.Subject, data.Body), "邮件发送失败") + biz.ErrIsNil(ml.Email(data.To, data.Subject, data.Body), "邮件发送失败") } diff --git a/apps/resource/api/oss.go b/apps/resource/api/oss.go index 9928561..945230f 100644 --- a/apps/resource/api/oss.go +++ b/apps/resource/api/oss.go @@ -98,7 +98,12 @@ func (p *ResOssesApi) InsertResOsses(rc *ctx.ReqCtx) { func (p *ResOssesApi) UpdateResOsses(rc *ctx.ReqCtx) { var data entity.ResOss ginx.BindJsonAndValid(rc.GinCtx, &data) - + if utils.IsDdmKey(data.AccessKey) { + data.AccessKey = "" + } + if utils.IsDdmKey(data.SecretKey) { + data.SecretKey = "" + } p.ResOssesApp.Update(data) } diff --git a/base/mail/email.go b/base/mail/email.go index ee3c4a0..fab4e4a 100644 --- a/base/mail/email.go +++ b/base/mail/email.go @@ -2,7 +2,6 @@ package email import ( "crypto/tls" - "errors" "fmt" "net/smtp" "strings" @@ -19,14 +18,9 @@ type Mail struct { IsSSL bool `json:"isSsl"` // 是否开启ssl } -const ( - TEXTTYPE = "TEXT" - HTMLTYPE = "HTML" -) - -func (m Mail) Email(to, ty, subject string, body string) error { +func (m Mail) Email(to, subject string, body string) error { tos := strings.Split(to, ",") - return m.send(tos, ty, subject, body) + return m.send(tos, subject, body) } //@function: ErrorToEmail @@ -34,12 +28,12 @@ func (m Mail) Email(to, ty, subject string, body string) error { //@param: subject string, body string //@return: error -func (m Mail) ErrorToEmail(to, ty, subject string, body string) error { +func (m Mail) ErrorToEmail(to, subject string, body string) error { tos := strings.Split(to, ",") if tos[len(to)-1] == "" { // 判断切片的最后一个元素是否为空,为空则移除 tos = tos[:len(tos)-1] } - return m.send(tos, ty, subject, body) + return m.send(tos, subject, body) } //@function: send @@ -47,7 +41,7 @@ func (m Mail) ErrorToEmail(to, ty, subject string, body string) error { //@param: subject string, body string //@return: error -func (m Mail) send(to []string, ty, subject string, body string) error { +func (m Mail) send(to []string, subject string, body string) error { auth := smtp.PlainAuth("", m.From, m.Secret, m.Host) e := email.NewEmail() @@ -58,14 +52,6 @@ func (m Mail) send(to []string, ty, subject string, body string) error { } e.To = to e.Subject = subject - - if ty == TEXTTYPE { - e.Text = []byte(body) - } else if ty == HTMLTYPE { - e.HTML = []byte(body) - } else { - errors.New("邮件类型不正确") - } e.HTML = []byte(body) var err error hostAddr := fmt.Sprintf("%s:%d", m.Host, m.Port) diff --git a/base/mail/mail_test.go b/base/mail/mail_test.go new file mode 100644 index 0000000..b15ff0d --- /dev/null +++ b/base/mail/mail_test.go @@ -0,0 +1,23 @@ +package email + +import "testing" + +/** + * @Description 添加qq群467890197 交流学习 + * @Author 熊猫 + * @Date 2022/1/17 10:35 + **/ + +func TestMail_Email(t *testing.T) { + ma := Mail{ + Host: "smtp.163.com", + Port: 25, + From: "18610165312@163.com", + Nickname: "panda", + Secret: "DCXZCAGTCMSEGPZL", + IsSSL: false, + } + + email := ma.Email("18353366911@163.com", "ceshi", "ceshibody") + t.Log(email) +} diff --git a/base/utils/ddm.go b/base/utils/ddm.go index 47658fe..04af9bf 100644 --- a/base/utils/ddm.go +++ b/base/utils/ddm.go @@ -13,10 +13,31 @@ func DdmKey(data string) string { return data[:3] + "****" + data[len(data)-3:] } +func IsDdmKey(data string) bool { + if len(data) > 6 && data[3:len(data)-3] == "****" { + return true + } + return false +} + func DdmMail(data string) string { return data[:3] + "****" + data[len(data)-8:] } +func ISDdmMail(data string) bool { + if len(data) > 11 && data[3:len(data)-8] == "****" { + return true + } + return false +} + func DdmPassword(data string) string { return "******" } + +func IsDdmPassword(data string) bool { + if data == "******" { + return true + } + return false +} diff --git a/base/utils/ddm_test.go b/base/utils/ddm_test.go new file mode 100644 index 0000000..3f1cd99 --- /dev/null +++ b/base/utils/ddm_test.go @@ -0,0 +1,26 @@ +package utils + +import ( + "testing" +) + +/** + * @Description 添加qq群467890197 交流学习 + * @Author 熊猫 + * @Date 2022/1/17 10:01 + **/ + +func TestDdmKey(t *testing.T) { + aa := "fsdfsf535343sdfsdf3" + bb := "23423423@qq.com" + + key := DdmKey(aa) + t.Log(key) + ddmKey := IsDdmKey(key) + t.Log(ddmKey) + + mail := DdmMail(bb) + t.Log(mail) + ismail := ISDdmMail(mail) + t.Log(ismail) +} diff --git a/config.yml b/config.yml index ea82029..47b7ca3 100644 --- a/config.yml +++ b/config.yml @@ -37,7 +37,7 @@ redis: port: 6379 mysql: - host: 127.0.0.1:3306 + host: 47.104.252.2:3306 username: pandax password: pandax db-name: pandax diff --git a/go.mod b/go.mod index e4fdb5f..fe5ad2e 100644 --- a/go.mod +++ b/go.mod @@ -40,6 +40,8 @@ require ( golang.org/x/net v0.0.0-20211116231205-47ca1ff31462 // indirect golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1 // indirect golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11 // indirect + gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect + gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df // indirect gorm.io/driver/mysql v1.2.0 gorm.io/driver/postgres v1.2.3 ) diff --git a/go.sum b/go.sum index bc189eb..12252d8 100644 --- a/go.sum +++ b/go.sum @@ -439,6 +439,8 @@ google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +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-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -446,6 +448,8 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= 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/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= diff --git a/resource/pandax-mysql.sql b/resource/pandax-mysql.sql index 0b2af70..fc44d34 100644 --- a/resource/pandax-mysql.sql +++ b/resource/pandax-mysql.sql @@ -853,7 +853,7 @@ CREATE TABLE `sys_users` ( -- ---------------------------- -- Records of sys_users -- ---------------------------- -INSERT INTO `sys_users` VALUES (1, 'pandax', '13818888888', 1, NULL, '', '0', '1@qq.com', 2, 1, 'admin', '1', NULL, '0', '2021-12-03 09:46:55', '2021-12-03 10:51:34', NULL, 'panda', '$2a$10$EXMJ5huCCTlCmP2ITFkAJ.4Mgmq3JcZGUvtE.KLX8j7FmhiiTEEya', '1', '1'); +INSERT INTO `sys_users` VALUES (1, 'pandax', '13818888888', 1, NULL, '', '0', '1@qq.com', 2, 1, 'admin', '1', NULL, '0', '2021-12-03 09:46:55', '2021-12-03 10:51:34', NULL, 'panda', '$2a$10$cKFFTCzGOvaIHHJY2K45Zuwt8TD6oPzYi4s5MzYIBAWCLL6ZhouP2', '1', '1'); INSERT INTO `sys_users` VALUES (3, '测试用户', '18435234356', 1, '', '', '0', '342@163.com', 3, 1, 'admin', '', '', '0', '2021-12-06 15:16:53', '2021-12-06 15:29:28', NULL, 'test', '$2a$10$4cHTracxWJLdhMmazvbm1urKyD3v5N2AYxAFtNYh6juU39kgae73e', '1', '1,4'); INSERT INTO `sys_users` VALUES (4, 'panda', '18353366912', 2, '', '', '0', '2417920382@qq.com', 2, 4, 'panda', '', '', '0', '2021-12-19 15:58:09', '2021-12-19 16:06:54', NULL, 'admin', '$2a$10$cKFFTCzGOvaIHHJY2K45Zuwt8TD6oPzYi4s5MzYIBAWCLL6ZhouP2', '2', '4,1');