1.pom.xml 의존성 추가
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context-support -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.mail/javax.mail-api -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.6.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.sun.mail/javax.mail -->
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
2.root-context.xml
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name ="host" value="smtp.gmail.com"></property>
<property name="port" value="587"></property>
<property name="username" value="이메일"></property>
<property name="password" value="앱키패스워드"></property>
<property name="javaMailProperties">
<props>
<prop key = "mail.smtp.auth">true</prop>
<prop key = "mail.smtp.starttls.enable">true</prop>
<prop key = "mail.transport.protocol">smtp</prop>
<prop key = "mail.debug">true</prop>
<prop key = "mail.smtp.ssl.trust">smtp.gmail.com</prop>
<prop key = "mail.smtp.ssl.protocols">TLSv1.2</prop>
</props>
</property>
</bean>
@Service
public class GoogleMailServiceImpl implements MailService {
@Autowired
private JavaMailSender mailSender;
@Async
public void sendMail(String to, String subject, String body) {
MimeMessage message = mailSender.createMimeMessage();
try {
MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "UTF-8");
messageHelper.setFrom("이메일","보내는이이름");
messageHelper.setSubject(subject); //제목
messageHelper.setTo(to); // 받는이
messageHelper.setText(body); //내용
mailSender.send(message);
} catch(Exception e) {
e.printStackTrace();
}
}