HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🤩
개발
/
Spring
Spring
/
이메일 인증
이메일 인증
이메일 인증

이메일 인증

  • Java/Springboot 메일을 보내는 방법
    • 구글 smtp 서버 이용하는 방법 정리 잘 되어있음
  • Spring Boot로 API를 통한 이메일 전송 기능 만들기
  • Html 템플릿 메일 보내기 - Thymeleaf
  • 이메일 인증 코드 보내기 & 검증[슬랙 예시]
  • [ Github ] SpringBoot: JavaMailSender를 이용한 메일전송 설정
 
의존성 추가
implementation 'org.springframework.boot:spring-boot-starter-mail'
application.yaml 설정 — 아래와 같이 설정 시, JavaMailSender Bean 자동으로 등록되서 활용 가능함
spring: mail: default-encoding: UTF-8 port: 465 protocol: smtp host: "smtp.gmail.com" username: rlfrmsdh1@gmail.com password: ****** properties: mail: debug: true # 해당 옵션이 있으면 디버그 로그 찍힘 smtp: socketFactory: port: 465 fallback: false class: javax.net.ssl.SSLSocketFactory auth: true starttls: enabled: true required: true
username은 구글 이메일 계정. password 발급 방법은 [해당 링크 참고]
  • MailSenderAutoConfiguration에 의해 자동으로 JavaMailSender등록됨
    • /** * {@link EnableAutoConfiguration Auto configuration} for email support. * * @author Oliver Gierke * @author Stephane Nicoll * @author Eddú Meléndez * @since 1.2.0 */ @AutoConfiguration @ConditionalOnClass({ MimeMessage.class, MimeType.class, MailSender.class }) @ConditionalOnMissingBean(MailSender.class) @Conditional(MailSenderCondition.class) @EnableConfigurationProperties(MailProperties.class) @Import({ MailSenderJndiConfiguration.class, MailSenderPropertiesConfiguration.class }) public class MailSenderAutoConfiguration { /** * Condition to trigger the creation of a {@link MailSender}. This kicks in if either * the host or jndi name property is set. */ static class MailSenderCondition extends AnyNestedCondition { MailSenderCondition() { super(ConfigurationPhase.PARSE_CONFIGURATION); } @ConditionalOnProperty(prefix = "spring.mail", name = "host") static class HostProperty { } @ConditionalOnProperty(prefix = "spring.mail", name = "jndi-name") static class JndiNameProperty { } } }
      spring.mail.host, spring.mail.jdni-name 이 셋되어 있으면 Autoconfiguraiton 동작함
 
JavaMailSender를 가지고 있는 EmailService 와 EmailController 구현
[참고] Spring Boot로 API를 통한 이메일 전송 기능 만들기