원2 2021. 8. 4. 11:51
728x90
반응형

servelt-context.xml에 bean 추가


pom.xml 에 mail 라이브러리 추가

 

		<dependency> 
			<groupId>org.springframework</groupId> 
			<artifactId>spring-context-support</artifactId> 
			<version>${org.springframework-version}</version> 
		</dependency>
		<dependency> 
			<groupId>com.sun.mail</groupId> 
			<artifactId>javax.mail</artifactId> 
			<version>1.5.6</version> 
		</dependency>

AdminController

이메일 받는거 설정

값은 JSP에서 넘기는 name 의 값이다.

package com.cos.controller;

import javax.inject.Inject;

import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import com.cos.service.CategoryService;

@Controller
public class AdminController {

	@Inject
	private CategoryService ctService;
	@Inject //root-context.xml 에서 생성된 생성된 객체를 주입
	private JavaMailSender mailSender;
	
	@RequestMapping(value = "/adminContact", method = RequestMethod.GET)
	public String adminContact(Model model) throws Exception{
		model.addAttribute("ctg1", ctService.selectGubun1(1));
		model.addAttribute("ctg2", ctService.selectGubun1(2));
		model.addAttribute("ctg3", ctService.selectGubun1(3));
		model.addAttribute("ctg4", ctService.selectGubun1(4));
		return "admin/adminContact";
	}
	
	
	@RequestMapping(value = "/mailSend", method = RequestMethod.POST)
	public String mailSend(@RequestParam("userName") String name, 
			@RequestParam("userEmail") String fromEmail, 
			@RequestParam("message") String msessage, 
			@RequestParam("adminEmail") String toEmail, Model model) throws Exception {
		
		
		return "redirect:adminContact";
	}
}

springLecture 
(Lecture에서 로그인 , 메일보내기 기능 추가)

로그인
1.userLoginForm : 로그인폼 호출 액션명
(UserController.java 구현 -> user/userLoginForm.jsp를 호출)

2.userLoginForm.jsp에서 userLogin 액션 호출
(UserServiceImpl.java에서 login 메소드 호출)

3.UserDAOImpl.java에서 select 메소드 호출
(userMapper.xml에서 id가 login 호출)

4.WEB-INF/views/include/header.jsp 56라인 로그인 코드 추가

메일 보내기 
1.https://www.google.com/settings/security/lesssecureapps -> 보안수준 낮은 앱의 허용 : 사용

2.root-context.xml에서 email 리소스 추가 (nate-on 참고)

3.pom.xml 메일 라이브러리 추가 (nate-on 참고)

4.adminContact.jsp에서 메일보내기 폼 
 - name, email의 name, value 세팅
 - 24라인 action명은 mailSend
 - hidden으로 name="adminEmail" value는 본인의 지메일 세팅
 - 83란인에 관리자 지메일 계정으로 수정

5.AdminController.java mailSend 액션 추가
728x90
반응형