diff --git a/server/admin/api_user.go b/server/admin/api_user.go index c38214c..bad7d38 100644 --- a/server/admin/api_user.go +++ b/server/admin/api_user.go @@ -214,6 +214,7 @@ type userAccountMailData struct { PinCode string OtpImg string OtpImgBase64 string + DisableOtp bool } func userAccountMail(user *dbdata.User) error { @@ -265,6 +266,7 @@ func userAccountMail(user *dbdata.User) error { PinCode: user.PinCode, OtpImg: fmt.Sprintf("https://%s/otp_qr?id=%d&jwt=%s", setting.LinkAddr, user.Id, tokenString), OtpImgBase64: "data:image/png;base64," + otpData, + DisableOtp: user.DisableOtp, } w := bytes.NewBufferString("") t, _ := template.New("auth_complete").Parse(htmlBody) @@ -273,12 +275,18 @@ func userAccountMail(user *dbdata.User) error { return err } // fmt.Println(w.String()) - imgData, _ := userOtpQr(user.Id, false) - attach := &mail.File{ - MimeType: "image/png", - Name: "userOtpQr.png", - Data: []byte(imgData), - Inline: true, + + var attach *mail.File + if user.DisableOtp { + attach = nil + } else { + imgData, _ := userOtpQr(user.Id, false) + attach = &mail.File{ + MimeType: "image/png", + Name: "userOtpQr.png", + Data: []byte(imgData), + Inline: true, + } } return SendMail(base.Cfg.Issuer, user.Email, w.String(), attach) diff --git a/server/dbdata/db.go b/server/dbdata/db.go index 7d643a3..c59d661 100644 --- a/server/dbdata/db.go +++ b/server/dbdata/db.go @@ -174,6 +174,9 @@ func CheckErrNotFound(err error) bool { return err == ErrNotFound } +// base64 图片 +// 用户动态码(请妥善保存):
+//
const accountMail = `

您好:

  您的{{.Issuer}}账号已经审核开通。

@@ -181,17 +184,18 @@ const accountMail = `

您好:

用户组: {{.Group}}
用户名: {{.Username}}
用户PIN码: {{.PinCode}}
+ {{if .DisableOtp}} + + {{else}} + 用户动态码(请妥善保存):
userOtpQr
+ + {{end}}

使用说明: