@@ -0,0 +1,33 @@
|
||||
package notiser
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"91porn-server/app/appg"
|
||||
"91porn-server/app/service/emailser"
|
||||
"91porn-server/common/constant"
|
||||
"91porn-server/common/constant/redisconst"
|
||||
"91porn-server/common/email"
|
||||
"91porn-server/common/log"
|
||||
"91porn-server/common/maths"
|
||||
"91porn-server/common/stderr"
|
||||
)
|
||||
|
||||
func SendEamil(ctx context.Context, emailStr string) stderr.Code {
|
||||
if code := emailser.CheckEmail(ctx, emailStr); code != stderr.Success {
|
||||
return code
|
||||
}
|
||||
code := maths.RandDigits(constant.CaptchaLen)
|
||||
redisKey := redisconst.GetEmailCaptchaKey(emailStr)
|
||||
if err := appg.Redis.Set(redisKey, code, redisconst.EmailCaptchaExpire); err != nil {
|
||||
log.ErrorX(ctx, "save code in redis failed", log.Any("email", emailStr), log.Any("redisKey", redisKey), log.E(err))
|
||||
return stderr.ErrNetWorkBusy
|
||||
}
|
||||
var DefaultEmailSender string = fmt.Sprintf("%s@%s", "no-reply", appg.Conf.AWS.SES.VerifiedDomain)
|
||||
if err := email.Client.Send(ctx, DefaultEmailSender, []*string{&emailStr}, "验证码",
|
||||
fmt.Sprintf("<h2>您的验证码是 %s</h2>", code)); err != nil {
|
||||
return stderr.ErrNetWorkBusy
|
||||
}
|
||||
return stderr.Success
|
||||
}
|
||||
Reference in New Issue
Block a user