티스토리 뷰

스프링

Spring Boot 메일 발송

Lurutia 2023. 2. 4. 02:56

최대한 간단하게 메일을 보낼 수 있게 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

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함