환경설정
의존성 추가
implementation 'org.springframework.boot:spring-boot-starter-mail'
properties 설정
spring.mail.host=smtp.gmail.com # 메일 서버 주소를 지정 -> Gmail 계정을 통해 메일 발송 가능
spring.mail.port=587 # SMTP 서버와 통신할 포트 번호
spring.mail.default-encoding=UTF-8 # 이메일 문자 인코딩 지정
spring.mail.properties.mail.smtp.auth=true # SMTP 서버 인증 사용 여부
spring.mail.properties.mail.smtp.starttls.enable=true # TLS 암호화 사용 여부 -> 전송 중 데이터를 암호화 -> 보안강화
spring.mail.properties.mail.smtp.ssl.enable=false # SSL 암호화 사용 여부 -> 연결 자체를 암호화 -> 포트 587 + STARTTLS 조합에서는 false로 설정해야 충돌 안남
spring.mail.username={[email protected]} # 본인 메일
spring.mail.password={your-app-password} # 앱 비밀번호
app-password를 받는 방법
스프링에서 메일 전송 기능을 제공하는 인터페이스
JavaMail API 위에 추상화를 제공
SimpleMailMessage나 MimeMessage를 사용해 메일 전송
private final JavaMailSender mailSender;
사용 예시
SimpleMailMessage message = new SimpleMailMessage();
message.setTo("[email protected]");
message.setSubject("테스트 메일");
message.setText("안녕하세요!");
mailSender.send(message); // 실제 메일 전송