-
Notifications
You must be signed in to change notification settings - Fork 0
/
email.go
58 lines (52 loc) · 1.96 KB
/
email.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
Nging is a toolbox for webmasters
Copyright (C) 2018-present Wenhui Shen <swh@admpub.com>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package task
import (
"time"
"github.com/admpub/nging/application/handler"
"github.com/admpub/nging/application/library/common"
"github.com/admpub/nging/application/library/cron"
"github.com/admpub/nging/application/library/notice"
"github.com/webx-top/echo"
)
//EmailTest 测试邮件发送是否正常
func EmailTest(ctx echo.Context) error {
user := handler.User(ctx)
if user == nil {
return common.ErrUserNotLoggedIn
}
if ctx.IsPost() {
clientID := ctx.Formx(`clientID`).String()
if len(clientID) == 0 {
return ctx.E(`clientID值不正确`)
}
toEmail := ctx.Form(`email`)
toUsername := `test`
title := ctx.T(`恭喜!邮件发送功能正常`)
content := []byte(ctx.T(`如果您收到这封邮件,说明邮件发送功能正常。<br /><br /> 来自:%s<br />时间:%s`, ctx.Site(), time.Now().Format(time.RFC3339)))
noticerConfig := ¬ice.HTTPNoticerConfig{
User: user.Username,
Type: `emailTest`,
ClientID: clientID,
}
err := cron.SendMailWithNoticer(notice.NewNoticer(ctx, noticerConfig), toEmail, toUsername, title, content)
data := ctx.Data()
if err != nil {
data.SetError(err)
}
return ctx.JSON(data)
}
return ctx.Render(`/task/email_test`, nil)
}