밥차 프로젝트의 아이디 / 비밀번호 찾기에 활용할 예정.
Gmail 을 통해 구현 하였다.
- pom.xml 설정하기
<!-- https://mvnrepository.com/artifact/javax.mail/mail -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${org.springframework-version}</version>
</dependency>
- root-context.xml 설정하기
<!-- 메일보내기 -->
<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="구글아이디 입력@gmail.com" />
<property name="password" value="비밀번호 입력" />
<property name="javaMailProperties">
<props>
<prop key="mail.transport.protocol">smtp</prop>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.debug">true</prop>
</props>
</property>
</bean>
위 와같이 설정 후 view페이지 및 컨트롤러 연결 후 전송 할수 있다.
- 컨트롤러
package com.hungry.spring.mail.controller;
import javax.mail.internet.MimeMessage;
import javax.servlet.http.HttpServletRequest;
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.springframework.web.servlet.ModelAndView;
@Controller("mailController")
@RequestMapping("/mail")
public class MailController {
@Autowired
private JavaMailSender mailSender;
// mailForm
@RequestMapping("/mailForm")
public ModelAndView mailForm() {
return new ModelAndView("/mail/mailForm");
}
// mailSending 코드
@RequestMapping(value = "/mailSending")
public String mailSending(HttpServletRequest request) {
String setfrom = "issac.lee.dev@gmail.com";
String tomail = request.getParameter("tomail"); // 받는 사람 이메일
String title = request.getParameter("title"); // 제목
String content = request.getParameter("content"); // 내용
try {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "UTF-8");
messageHelper.setFrom(setfrom); // 보내는사람 생략하거나 하면 정상작동을 안함
messageHelper.setTo(tomail); // 받는사람 이메일
messageHelper.setSubject(title); // 메일제목은 생략이 가능하다
messageHelper.setText(content); // 메일 내용
mailSender.send(message);
} catch (Exception e) {
System.out.println(e);
}
return "redirect:/mail/mailForm";
}
}
- 주의할점
구글의 최신 보안표준에의해 사용하려면 아래항목에 체크해야한다.
https://www.google.com/settings/security/lesssecureapps
'밥차 프로젝트' 카테고리의 다른 글
밥차 프로젝트 구현영상 (0) | 2021.03.23 |
---|---|
밥차의 개막 (0) | 2021.02.19 |