Files
huangguo_server/app/service/notiser/email.go
T
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

34 lines
1.1 KiB
Go

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
}