BackEND/Java

spring boot mail 발송

교육중 2021. 1. 20. 10:05

** 메일 계정 보안 설정 낮음으로 변경후 작업

 

1. build.gradle 추가

// mail 
compile("org.springframework.boot:spring-boot-starter-mail") 
compile "org.springframework:spring-context-support" 
compile "com.sun.mail:javax.mail

 

2. application.yaml 추가

mail: 
	properties: 
		mail: 
			host: smtp.gmail.com 
			port: 587 
			username: id 
			password: pwd
			smtp: 
				auth: true 
				connectiontimeout: 5000 
				timeout: 5000 
				writetimeout: 5000 
				starttls: 
					enable: true 
				socketFactory: 
					port: 465 
					class: javax.net.ssl.SSLSocketFactory

 

3.  JavaMailSender 추가

@Bean 
public static JavaMailSender getJavaMailSender() { 
	JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); 
	mailSender.setHost("smtp.gmail.com"); 
	mailSender.setPort(587); 
	   
	mailSender.setUsername("userEmail"); 
	mailSender.setPassword("userPassword"); 
	   
	Properties props = mailSender.getJavaMailProperties(); 
	props.put("mail.transport.protocol", "smtp"); 
	props.put("mail.smtp.auth", "true"); 
	props.put("mail.smtp.starttls.enable", "true"); 
	props.put("mail.debug", "true"); 
	   
	return mailSender; 
}

 

4. sendMail 메소드 추가

public void sendMail() { 
	SimpleMailMessage msg = new SimpleMailMessage(); 
	msg.setTo("수신메일"); 
	msg.setSubject("메일제목"); 
	msg.setText("메일내용"); 
	JavaMailSender javaMailSender = MailService.getJavaMailSender();  
	javaMailSender.send(msg); 
}