Skip to content

Commit a3febea

Browse files
committed
fix:bean을 직접 생성
1 parent 6f01b46 commit a3febea

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
package com.back.global.mail;
2+
3+
import org.springframework.beans.factory.annotation.Value;
4+
import org.springframework.context.annotation.Bean;
5+
import org.springframework.context.annotation.Configuration;
6+
import org.springframework.context.annotation.Profile;
7+
import org.springframework.mail.javamail.JavaMailSender;
8+
import org.springframework.mail.javamail.JavaMailSenderImpl;
9+
10+
import java.util.Properties;
11+
12+
@Configuration
13+
@Profile("prod")
14+
public class MailConfig {
15+
16+
@Value("${spring.mail.host}")
17+
private String host;
18+
19+
@Value("${spring.mail.port}")
20+
private int port;
21+
22+
@Value("${spring.mail.username}")
23+
private String username;
24+
25+
@Value("${spring.mail.password}")
26+
private String password;
27+
28+
@Value("${spring.mail.properties.mail.smtp.auth}")
29+
private boolean auth;
30+
31+
@Value("${spring.mail.properties.mail.smtp.starttls.enable}")
32+
private boolean starttlsEnable;
33+
34+
@Value("${spring.mail.properties.mail.smtp.starttls.required}")
35+
private boolean starttlsRequired;
36+
37+
@Value("${spring.mail.properties.mail.smtp.connectiontimeout}")
38+
private int connectionTimeout;
39+
40+
@Value("${spring.mail.properties.mail.smtp.timeout}")
41+
private int timeout;
42+
43+
@Value("${spring.mail.properties.mail.smtp.writetimeout}")
44+
private int writeTimeout;
45+
46+
@Bean
47+
public JavaMailSender javaMailSender() {
48+
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
49+
mailSender.setHost(host);
50+
mailSender.setPort(port);
51+
mailSender.setUsername(username);
52+
mailSender.setPassword(password);
53+
54+
Properties props = mailSender.getJavaMailProperties();
55+
props.put("mail.smtp.auth", auth);
56+
props.put("mail.smtp.starttls.enable", starttlsEnable);
57+
props.put("mail.smtp.starttls.required", starttlsRequired);
58+
props.put("mail.smtp.connectiontimeout", connectionTimeout);
59+
props.put("mail.smtp.timeout", timeout);
60+
props.put("mail.smtp.writetimeout", writeTimeout);
61+
62+
return mailSender;
63+
}
64+
}

0 commit comments

Comments
 (0)