diff --git a/app/src/main/kotlin/com/maggom/app/config/SesMailConfig.kt b/app/src/main/kotlin/com/maggom/app/config/SesMailConfig.kt new file mode 100644 index 0000000..6990449 --- /dev/null +++ b/app/src/main/kotlin/com/maggom/app/config/SesMailConfig.kt @@ -0,0 +1,29 @@ +package com.maggom.app.config + +import org.springframework.boot.context.properties.EnableConfigurationProperties +import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.Configuration +import org.springframework.context.annotation.Primary +import org.springframework.context.annotation.Profile +import org.springframework.mail.javamail.JavaMailSender +import org.springframework.mail.javamail.JavaMailSenderImpl + +@Configuration +@Profile("prod") +@EnableConfigurationProperties(SesMailProperties::class) +class SesMailConfig( + private val sesMailProperties: SesMailProperties, +) { + + @Bean + @Primary + fun javaMailSender(): JavaMailSender { + return JavaMailSenderImpl().apply { + host = sesMailProperties.host + port = sesMailProperties.port + this.username = sesMailProperties.username + this.password = sesMailProperties.password + javaMailProperties.putAll(sesMailProperties.properties) + } + } +} diff --git a/app/src/main/kotlin/com/maggom/app/config/SesMailProperties.kt b/app/src/main/kotlin/com/maggom/app/config/SesMailProperties.kt new file mode 100644 index 0000000..0fd413c --- /dev/null +++ b/app/src/main/kotlin/com/maggom/app/config/SesMailProperties.kt @@ -0,0 +1,12 @@ +package com.maggom.app.config + +import org.springframework.boot.context.properties.ConfigurationProperties + +@ConfigurationProperties("spring.mail") +data class SesMailProperties( + val host: String, + val port: Int = 587, + val username: String, + val password: String, + val properties: Map = emptyMap(), +)