From 964ebfaf32652d956c1d7be9253178248ca5010a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=98=A0=E6=B1=9F?= <15547749+cyj-050209@user.noreply.gitee.com> Date: Thu, 9 Oct 2025 11:17:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BF=98=E8=AE=B0=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E5=8A=9F=E8=83=BD=E5=AE=8C=E5=96=84(=E9=82=AE?= =?UTF-8?q?=E4=BB=B6=E5=86=85=E5=AE=B9)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/users.json | 4 +-- .../mathlearning/service/EmailService.java | 27 ++++++++++++++----- .../java/mathlearning/ui/ChangeCodeFrame.java | 2 +- .../java/mathlearning/ui/RegisterFrame.java | 2 +- 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/data/users.json b/data/users.json index d478b7e..2bf6bd3 100644 --- a/data/users.json +++ b/data/users.json @@ -1,8 +1,8 @@ [ { "username" : "小鱼", "email" : "1280556515@qq.com", - "passwordHash" : "$2a$12$0.CsIN83oxG1vbZe6vNVte3JaxvX2JU2j0hyprng6meq9/N4e732m", + "passwordHash" : "$2a$12$fAWGM2CJSSiulyFbDWyRyefrBWr9emYrMdkD.Rw2LPKFaYQeYYW9K", "registrationDate" : [ 2025, 10, 8, 21, 0, 37, 863490500 ], - "verificationCode" : "963213", + "verificationCode" : "926911", "verified" : true } ] \ No newline at end of file diff --git a/src/main/java/mathlearning/service/EmailService.java b/src/main/java/mathlearning/service/EmailService.java index 86f5b0d..cc9dcec 100644 --- a/src/main/java/mathlearning/service/EmailService.java +++ b/src/main/java/mathlearning/service/EmailService.java @@ -19,7 +19,7 @@ public class EmailService { this.auth = auth; } - public boolean sendVerificationCode(String toEmail, String verificationCode) { + public boolean sendVerificationCode(String toEmail, String verificationCode, int flag) { try { Properties props = new Properties(); props.put("mail.smtp.host", host); @@ -38,12 +38,11 @@ public class EmailService { message.setFrom(new InternetAddress(username)); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toEmail)); message.setSubject("数学学习软件 - 注册验证码"); + String emailContent=""; + + if (flag == 1) emailContent = registerContent(verificationCode); + else if (flag == 2) emailContent = resetPasswordContent(verificationCode); - String emailContent = "尊敬的用户:\n\n" + - "您的注册验证码是:" + verificationCode + "\n\n" + - "该验证码有效期为10分钟。\n\n" + - "如果您没有注册本软件,请忽略此邮件。\n\n" + - "数学学习软件团队"; message.setText(emailContent); @@ -54,4 +53,20 @@ public class EmailService { return false; } } + + public String registerContent(String verificationCode) { + return "尊敬的用户:\n\n" + + "您的注册验证码是:" + verificationCode + "\n\n" + + "该验证码有效期为10分钟。\n\n" + + "如果您没有注册本软件,请忽略此邮件。\n\n" + + "数学学习软件团队"; + } + + public String resetPasswordContent(String verificationCode) { + return "尊敬的用户:\n\n" + + "您的重置验证码是:" + verificationCode + "\n\n" + + "该验证码有效期为10分钟。\n\n" + + "如果您没有重置密码,请忽略此邮件。\n\n" + + "数学学习软件团队"; + } } diff --git a/src/main/java/mathlearning/ui/ChangeCodeFrame.java b/src/main/java/mathlearning/ui/ChangeCodeFrame.java index 924f9ea..1255136 100644 --- a/src/main/java/mathlearning/ui/ChangeCodeFrame.java +++ b/src/main/java/mathlearning/ui/ChangeCodeFrame.java @@ -139,7 +139,7 @@ public class ChangeCodeFrame extends JFrame { verificationCode = String.valueOf((int)((Math.random() * 9 + 1) * 100000)); // 发送验证码邮件 - boolean sent = emailService.sendVerificationCode(email, verificationCode); + boolean sent = emailService.sendVerificationCode(email, verificationCode, 2); if (sent) { // 在服务中保存验证码 diff --git a/src/main/java/mathlearning/ui/RegisterFrame.java b/src/main/java/mathlearning/ui/RegisterFrame.java index ebc97c7..b5fc993 100644 --- a/src/main/java/mathlearning/ui/RegisterFrame.java +++ b/src/main/java/mathlearning/ui/RegisterFrame.java @@ -145,7 +145,7 @@ public class RegisterFrame extends JFrame{ verificationCode = String.valueOf((int)((Math.random() * 9 + 1) * 100000)); // 发送验证码邮件 - boolean sent = emailService.sendVerificationCode(email, verificationCode); + boolean sent = emailService.sendVerificationCode(email, verificationCode, 1); if (sent) { JOptionPane.showMessageDialog(RegisterFrame.this,