Skip to content

Commit 884e357

Browse files
committed
CLAP-314 Feat: 새 비밀번호 이메일 전송 로직 구현
<footer> - 관련: #387
1 parent 4225048 commit 884e357

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed

src/main/java/clap/server/adapter/outbound/api/EmailClient.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,5 +70,22 @@ public void sendVerificationEmail(String memberEmail, String receiverName, Strin
7070
}
7171
}
7272

73+
@Override
74+
public void sendNewPasswordEmail(String memberEmail, String receiverName, String newPassword) {
75+
try {
76+
MimeMessage mimeMessage = mailSender.createMimeMessage();
77+
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
78+
79+
EmailTemplate template = emailTemplateBuilder.createNewPasswordTemplate(memberEmail, receiverName, newPassword);
80+
helper.setTo(template.email());
81+
helper.setSubject(template.subject());
82+
helper.setText(template.body(), true);
83+
84+
mailSender.send(mimeMessage);
85+
} catch (Exception e) {
86+
throw new AdapterException(NotificationErrorCode.EMAIL_SEND_FAILED);
87+
}
88+
}
89+
7390

7491
}

src/main/java/clap/server/adapter/outbound/api/EmailTemplateBuilder.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,4 +82,15 @@ public EmailTemplate createVerificationCodeTemplate(String receiver, String rece
8282
String body = templateEngine.process(templateName, context);
8383
return new EmailTemplate(receiver, subject, body);
8484
}
85+
86+
public EmailTemplate createNewPasswordTemplate(String receiver, String receiverName, String newPassword) {
87+
Context context = new Context();
88+
String templateName = "new-password";
89+
String subject = "[TaskFlow] 비밀번호 재설정";
90+
context.setVariable("loginLink", "http://localhost:5173/login");
91+
context.setVariable("newPassword", newPassword);
92+
context.setVariable("receiverName", receiverName);
93+
String body = templateEngine.process(templateName, context);
94+
return new EmailTemplate(receiver, subject, body);
95+
}
8596
}

src/main/java/clap/server/application/port/outbound/email/SendEmailPort.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,6 @@ public interface SendEmailPort {
66

77
void sendVerificationEmail(String memberEmail, String receiverName, String verificationCode);
88

9+
void sendNewPasswordEmail(String memberEmail, String receiverName, String newPassword);
10+
911
}

0 commit comments

Comments
 (0)