티스토리 뷰
최대한 간단하게 메일을 보낼 수 있게 gmail 이용
구글 계정 설정
구글 계정 관리 > 보안
2단계 설정 및 앱 비밀번호 생성
구글 메일 > 톱니바퀴 > 모든 설정 보기 > 전달 및 POP/IMAP
IMAP 사용
Spring Boot 설정
build.gradle
// https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-mail
implementation("org.springframework.boot:spring-boot-starter-mail")
MailSender 설정
kotlin configuration
@Configuration
class MailConfig {
@Bean
fun getMailSender(): MailSender {
val mailSender = JavaMailSenderImpl();
mailSender.host = "smtp.gmail.com"
mailSender.port = 587
mailSender.username = "google.email"
mailSender.password = "google app password"
val props: Properties = mailSender.javaMailProperties
props["mail.transport.protocol"] = "smtp"
props["mail.smtp.auth"] = "true"
props["mail.smtp.starttls.enable"] = "true"
return mailSender
}
}
application.yml
mail:
host: smtp.gmail.com
port: 587
username: google.mail
password: google.app.password
properties:
mail:
smtp:
auth: true
starttls:
enable: true
간단 발송 코드
class SimpleMailSender(
private val mailSender: MailSender
): MailSenderModule {
override fun send() {
val mimeMessageHelper = MimeMessageHelper(mailSender.createMimeMessage(), true, "UTF-8")
mimeMessageHelper.setTo("lurutia7@gmail.com")
mimeMessageHelper.setSubject("hi")
mimeMessageHelper.setText("hello")
mimeMessageHelper.setFrom("gosuljo@gmail.com")
mailSender.send(mimeMessageHelper.mimeMessage)
}
}
reference
https://docs.spring.io/spring-framework/docs/3.2.x/spring-framework-reference/html/mail.html
'스프링' 카테고리의 다른 글
spring-boot(3.0.0) QueryDSL 설정하기 (0) | 2023.01.18 |
---|---|
스프링부트(spring boot) javascript 의존성 관리 (0) | 2021.02.19 |
JMeter 웹서버 부하테스트 (0) | 2021.02.05 |
타임리프(thymeleaf) 사용하기 (0) | 2020.12.31 |
@Valid 를 이용한 검증 및 Advice를 이용한 에러처리 (0) | 2020.06.10 |
댓글