update 邮箱验证码模版修改

This commit is contained in:
yyb
2026-01-14 15:53:21 +08:00
parent ee85a937d9
commit a1754b7f4c
3 changed files with 203 additions and 112 deletions

View File

@@ -1,7 +1,6 @@
package com.m2pool.lease.service.impl;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.nacos.common.utils.StringUtils;
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
@@ -638,12 +637,10 @@ public class LeaseUserServiceImpl extends ServiceImpl<LeaseUserMapper, LeaseUser
* @param code
*/
public void sendLoginCodeMailMessage(String to, String code) {
//String subject = "用户登录,邮箱验证码";
//String text = "登录验证码10分钟内有效:\n\t"+code;
Map<String, Object> content = new HashMap<>();
content.put("code",code);
content.put("text","Login verification code is valid within 10 minutes");
EmailTemplateEntity entity = new EmailTemplateEntity(to,"User login, email verification code","emailCode-en",content);
EmailTemplateEntity entity = new EmailTemplateEntity(to,"User login, email verification code","power_leasingEmail",content);
sendHtmlEmail(entity.getEmail(),entity.getSubject(),entity.getTemplateName(),entity.getData());
}
@@ -653,35 +650,37 @@ public class LeaseUserServiceImpl extends ServiceImpl<LeaseUserMapper, LeaseUser
* @param code
*/
public void sendRegisterMessage(String to, String code) {
//String subject = "账号注册,邮箱验证码";
//String text = "注册验证码10分钟内有效:\n\t"+code;
Map<String, Object> content = new HashMap<>();
content.put("code",code);
content.put("text","The verification code for registration is valid for 10 minutes");
EmailTemplateEntity message = new EmailTemplateEntity(to,"Account registration, email verification code","emailCode-en",content);
EmailTemplateEntity message = new EmailTemplateEntity(to,"Account registration, email verification code","power_leasingEmail",content);
sendHtmlEmail(message.getEmail(),message.getSubject(),message.getTemplateName(),message.getData());
}
/**
* 发送修改密码的邮件
* @param to
* @param code
*/
public void sendUpdatePwdMailMessage(String to, String code) {
//String subject = "修改密码,邮箱验证码";
//String text = "您正在修改密码如果不是您本人操作请忽略。验证码10分钟内有效:\n\t"+code;
Map<String, Object> content = new HashMap<>();
content.put("code",code);
content.put("text","You are currently modifying your password. If this is not done by you, please ignore it. The verification code is valid for 10 minutes.");
EmailTemplateEntity entity = new EmailTemplateEntity(to,"Change password, email verification code","emailCode-en",content);
EmailTemplateEntity entity = new EmailTemplateEntity(to,"Change password, email verification code","power_leasingEmail",content);
sendHtmlEmail(entity.getEmail(),entity.getSubject(),entity.getTemplateName(),entity.getData());
}
/**
* 发送注销账户邮件
* @param to
* @param code
*/
public void sendCloseAccountMailMessage(String to, String code) {
//String subject = "修改密码,邮箱验证码";
//String text = "您正在修改密码如果不是您本人操作请忽略。验证码10分钟内有效:\n\t"+code;
Map<String, Object> content = new HashMap<>();
content.put("code",code);
content.put("text","You are logging out of the user account. If this is not done by you, please ignore it. The verification code is valid for 10 minutes.");
EmailTemplateEntity entity = new EmailTemplateEntity(to,"Change password, email verification code","emailCode-en",content);
EmailTemplateEntity entity = new EmailTemplateEntity(to,"Change password, email verification code","power_leasingEmail",content);
sendHtmlEmail(entity.getEmail(),entity.getSubject(),entity.getTemplateName(),entity.getData());
}
/**
@@ -839,8 +838,6 @@ public class LeaseUserServiceImpl extends ServiceImpl<LeaseUserMapper, LeaseUser
if(StringUtils.isEmpty(email)){
return Result.fail("token解析异常");
}
boolean success ;
//判断用户是不是恶意刷邮箱,在规定时间内进行的
String redisKey = RedisAuthKey.getGoogleBindCodeKey( email);
if (redisService.hasKey(redisKey)) {
@@ -857,7 +854,7 @@ public class LeaseUserServiceImpl extends ServiceImpl<LeaseUserMapper, LeaseUser
long overTime = redisService.getExpire(redisKey);
redisService.setCacheObject(redisKey, emailCodeValue, overTime, TimeUnit.SECONDS
);
success = sendEmail(email,emailCode);
sendBindGoogleEmail(email,emailCode);
}
} else {
String emailCode = CodeUtils.creatCode(6);
@@ -871,38 +868,24 @@ public class LeaseUserServiceImpl extends ServiceImpl<LeaseUserMapper, LeaseUser
redisService.setCacheObject(redisKey, emailCodeValue,
10L, TimeUnit.MINUTES
);
success = sendEmail(email,emailCode);
sendBindGoogleEmail(email,emailCode);
}
return success ? Result.success("发送邮箱验证码成功") : Result.fail("发送邮箱验证码失败,请稍后重试");
return Result.success("发送邮箱验证码成功");
}
public boolean sendEmail(String email,String code){
String text = "您正在绑定谷歌验证器!\n" +
"您的邮箱验证验证码是:\n\t"+code +
"\n此验证码10分钟有效。";
try {
//true 代表支持复杂的类型
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(javaMailSender.createMimeMessage(),true);
//邮件发信人
mimeMessageHelper.setFrom(sendMailer);
//邮件收信人 1或多个
mimeMessageHelper.setTo(email);
//邮件主题
mimeMessageHelper.setSubject("[M2Pool] 邮箱验证码");
//邮件内容
mimeMessageHelper.setText(text);
//邮件发送时间
mimeMessageHelper.setSentDate(new Date());
/**
* 发送绑定谷歌双重验证邮箱验证码
* @param to
* @param code
*/
public void sendBindGoogleEmail(String to, String code){
Map<String, Object> content = new HashMap<>();
content.put("code",code);
content.put("text","The validity period for binding Google two-factor authentication email verification code is 10 minutes");
EmailTemplateEntity message = new EmailTemplateEntity(to,"Bind Google two-factor authentication, email verification code","power_leasingEmail",content);
sendHtmlEmail(message.getEmail(),message.getSubject(),message.getTemplateName(),message.getData());
//发送邮件
javaMailSender.send(mimeMessageHelper.getMimeMessage());
//System.out.println("发送邮件成功:"+sendMailer+"->"+to);
return true;
} catch (Exception e) {
System.out.println("发送邮件失败:"+e.getMessage());
return false;
}
}
@Override
@@ -912,7 +895,6 @@ public class LeaseUserServiceImpl extends ServiceImpl<LeaseUserMapper, LeaseUser
return Result.fail("token解析异常");
}
boolean success;
//判断用户是不是恶意刷邮箱,在规定时间内进行的
String redisKey = RedisAuthKey.getGoogleCloseCodeKey( email);
if (redisService.hasKey(redisKey)) {
@@ -930,7 +912,7 @@ public class LeaseUserServiceImpl extends ServiceImpl<LeaseUserMapper, LeaseUser
long overTime = redisService.getExpire(redisKey);
redisService.setCacheObject(redisKey, emailCodeValue, overTime, TimeUnit.SECONDS
);
success = sendEmail(email,emailCode);
sendCloseEmail(email,emailCode);
}
} else {
String emailCode = CodeUtils.creatCode(6);
@@ -944,37 +926,22 @@ public class LeaseUserServiceImpl extends ServiceImpl<LeaseUserMapper, LeaseUser
redisService.setCacheObject(redisKey, emailCodeValue,
10L, TimeUnit.MINUTES
);
success = sendCloseEmail(email,emailCode);
sendCloseEmail(email,emailCode);
}
return success ? Result.success("发送邮箱验证码成功") : Result.fail("发送邮箱验证码失败,请稍后重试");
return Result.success("发送邮箱验证码成功");
}
public boolean sendCloseEmail(String email,String code){
String text = "M2Pool:\n" +
"您正在关闭谷歌验证器!\n" +
"您的邮箱验证验证码是:\n\t"+code +
"\n此验证码10分钟有效。";
try {
//true 代表支持复杂的类型
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(javaMailSender.createMimeMessage(),true);
//邮件发信人
mimeMessageHelper.setFrom(sendMailer);
//邮件收信人 1或多个
mimeMessageHelper.setTo(email);
//邮件主题
mimeMessageHelper.setSubject("[M2Pool] 邮箱验证码");
//邮件内容
mimeMessageHelper.setText(text);
//邮件发送时间
mimeMessageHelper.setSentDate(new Date());
/**
* 关闭谷歌验证
* @param to
* @return
*/
public void sendCloseEmail(String to,String code){
Map<String, Object> content = new HashMap<>();
content.put("code",code);
content.put("text","Turning off Google's two-factor authentication email verification code is valid for 10 minutes");
EmailTemplateEntity message = new EmailTemplateEntity(to,"Turning off Google two-factor authentication, email verification code","power_leasingEmail",content);
sendHtmlEmail(message.getEmail(),message.getSubject(),message.getTemplateName(),message.getData());
//发送邮件
javaMailSender.send(mimeMessageHelper.getMimeMessage());
//System.out.println("发送邮件成功:"+sendMailer+"->"+to);
return true;
} catch (Exception e) {
System.out.println("发送邮件失败:"+e.getMessage());
return false;
}
}
@Override
public Result<String> closeStepTwo(GoogleCloseVo vo) {