diff --git a/src/main/java/org/example/wowelang_backend/report/service/ReportMailService.java b/src/main/java/org/example/wowelang_backend/report/service/ReportMailService.java index e8c7ee8..8e86dba 100644 --- a/src/main/java/org/example/wowelang_backend/report/service/ReportMailService.java +++ b/src/main/java/org/example/wowelang_backend/report/service/ReportMailService.java @@ -1,9 +1,11 @@ package org.example.wowelang_backend.report.service; +import jakarta.mail.MessagingException; +import jakarta.mail.internet.MimeMessage; import lombok.RequiredArgsConstructor; import org.example.wowelang_backend.report.domain.Report; -import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; +import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Service; @Service @@ -13,28 +15,51 @@ public class ReportMailService { private final JavaMailSender mailSender; public void sendReportNotification(Report report) { - SimpleMailMessage message = new SimpleMailMessage(); - message.setTo("wowelang0216@gmail.com"); // 받을 이메일 - message.setSubject("[신고 접수] 새로운 신고가 접수되었습니다."); - message.setText(buildContent(report)); + try { + MimeMessage message = mailSender.createMimeMessage(); + MimeMessageHelper helper = new MimeMessageHelper(message, false, "UTF-8"); - mailSender.send(message); + helper.setTo("wowelang0216@gmail.com"); + helper.setSubject("[신고 접수] 새로운 신고가 접수되었습니다."); + helper.setText(buildHtmlContent(report), true); // true → HTML 모드 + + mailSender.send(message); + } catch (MessagingException e) { + throw new RuntimeException("신고 메일 전송 실패", e); + } } - private String buildContent(Report report) { - return String.format( - """ - 신고자: %s - 피신고자: %s - 신고 사유: %s - 상세 내용: %s - 신고 발원지: %s + private String buildHtmlContent(Report report) { + return String.format(""" +
신고자: %s
+피신고자: %s
+신고 사유: %s
+상세 내용:
+신고 발원지: %s
+WowELang 관리자 시스템에서 자동 발송된 메일입니다.
+