1. JSP 파일인 email.jsp 구현하기
1. 수신자 이메일을 입력하게 되면 설정해둔 내용을 이메일로 받아 볼수 있도록 하겠씁니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="/shop/email/send.do" method="post">
<H2>인증번호 보내기</H2>
이메일 입력 : <input name="send">
<input type="submit" value="전송">
</form>
<span style="color:red;">${message}</span>
</body>
</html>
|
cs |
2. Controller 구현
** => JSP 페이지에서 action 값인 /shop/email/send.do 로 가보겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
package com.Ims.shop.controller;
import javax.inject.Inject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.Ims.shop.service.CartService;
import com.Ims.shop.service.EmailService;
import com.Ims.shop.vo.SendVo;
@Controller
public class EmailController {
@Inject
JavaMailSender mailSender;
private EmailService emailService;
@Autowired
public EmailController(EmailService emailService) {
this.emailService = emailService;
}
@RequestMapping("/email")
public String email() {
return "email";
}
@RequestMapping("/email/send.do")
public String send(SendVo vo,Model model) { // 저는 input type 값을 클래스로 생성해서
//클래스로 만들게요 ~
System.out.println("v########################"+vo.getSend());
try {
emailService.sendMail(vo); // 4번에서 구현할게요 emailserivce 부분!!
model.addAttribute("message", "이메일 발송완료");
} catch (Exception e) {
e.printStackTrace();
model.addAttribute("message", "이메일 발송 실패");
}
return "email";
}
}
|
cs |
3. SendVo Class 구현
**
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package com.Ims.shop.vo;
public class SendVo {
private String send;
// setter,getter 값 생성
// @Data 사용가능! public String getSend() {
return send;
}
public void setSend(String send) {
this.send = send;
}
}
|
cs |
4 EmailService 구현하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
package com.Ims.shop.service;
import java.util.List;
import javax.inject.Inject;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;
import com.Ims.shop.dao.AdminDao;
import com.Ims.shop.dao.NoticeDao;
import com.Ims.shop.vo.MemberVo;
import com.Ims.shop.vo.NoticeVo;
import com.Ims.shop.vo.SendVo;
@Service
public class EmailService {
@Inject
JavaMailSender mailSender;
public void sendMail(SendVo vo) {
try {
MimeMessage msg = mailSender.createMimeMessage();
msg.addRecipient(RecipientType.TO, new InternetAddress(vo.getSend()));
msg.addFrom(new InternetAddress[] {
new InternetAddress("######","홍길동")
});
msg.setSubject("테스트 메일 제목"); // 메일제목을 입력해주시면됩니다.,
msg.setText("테스트입니다"); // 메일 내용을 적어주시면됩니다. 여기서 값을넣어 활용하기
mailSender.send(msg); // 메일을 mailsender 에 넣어서 전송!!
} catch (Exception e) { // 실패시 ㅇㅖ외처리부분1
e.printStackTrace();
System.out.println("에러됨");
}
};
}
|
cs |
5. root-content.xml 구현 !!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<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="###본인의 구글아이디##"/>
<property name="password" value="####2차인증후 앱키! 비빌번호아님주의"/>
<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>
<prop key="mail.smtp.ssl.protocols">TLSv1.2</prop>
<prop key="mail.smtp.ssl.trust">smtp.gmail.com</prop> // 다른소스는없는데 이게 있어야해요!!
</props>
</property>
</bean>
|
cs |
6. 여기까지 해서 구현이 완성입니다.
이상으로 끝가지 봐주셔서 감사합니다 ~~
'기존 > 🏀Spring' 카테고리의 다른 글
[Spring][상품 프로젝트][1] pom.xml 설정 (0) | 2022.07.25 |
---|---|
[스프링-9]Spring 다음 주소록 api 구현하기 (0) | 2022.07.15 |
[스프링 -6]Spring 네이버 로그인하기 (네아로) (0) | 2022.07.14 |
[스프링 -5]Spring 상품리스트화면 구현하기 (product) (0) | 2022.07.14 |
[스프링 -4]Spring 파일 업로드 하기 (fileupload) (0) | 2022.07.14 |