낙서장/Spring
Spring Mail Library Setting(1)
RunTimeException
2022. 6. 10. 10:55
Spring java
package org.toco.main.controller;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.toco.main.vo.MailVO;
@Controller
public class HomeController {
@Autowired
private JavaMailSender mailSender;
/**
* @mailVO = 받는 사람 이메일 정보와 메일 제목|내용을 받는다.
*/
@RequestMapping("mailSending.do")
public String mailSending(MailVO mailVO) {
try {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "UTF-8");
messageHelper.setFrom(new InternetAddress("sendEmail@gmail.com", "Faker")); // 보낼 사람 이메일, 보낼 사람 닉네임
messageHelper.setTo(mailVO.getToMail()); //받는 사람 이메일
messageHelper.setSubject(mailVO.getTitle()); //메일 제목
messageHelper.setText(mailVO.getContent()); //메일 내용
mailSender.send(message);
}catch(Exception e) {
e.printStackTrace();
}
return "index";
}
}
Spring Setting XML
<!-- Gmail -->
<bean id="mailSender"
class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.gmail.com" />
<property name="port" value="587" />
<property name="username" value="yourEmgail@gmail.com" />
<property name="password" value="appPassword" />
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.smtps.ssl.checkserveridentity">true</prop>
<prop key="mail.smtp.auth">true</prop>
</props>
</property>
</bean>
Maven
<!-- Java Mail API -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.3</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${org.springframework-version}</version>
</dependency>