1 분 소요

회원가입 이메일 전송02

4.controller 메서드 추가

	// 메일 보내기: javamailSender 객체 타입인 mailSender 생성
	@Autowired
	private JavaMailSender mailSender;

메일을 보내기 위해 어노테이션을 선언해준다.


 

ajax에서 요청을 실행하는 메서드를 추가한다

메서드는 인증번호(난수)를 생성하여 이메일과 뷰에 보내는 기능을 수행한다.

@RequestMapping(value = "/mailCheck", method = RequestMethod.GET)

	@ResponseBody
	public String mailCheckGET(String email) throws Exception {

		System.out.println("이메일 데이터 전송 확인");
		System.out.println("인증번호" + email);
		

 

@ResponseBody 어노테이션을 사용한다. controller메서드를 ajax로 요청 했기때문에 필요하다.

인증번호를 생성하기 위해서는 난수가 필요하다.

java에서 제공하는 Random 객체를 사용한다.

		// 인증번호(난수)생성

		Random random = new Random();
		int checkNum = random.nextInt(888888) + 111111;
		// 난수 확인 System.out.println("인증번호" + checkNum);

random 클래스를 사용하여 객체 random을 선언한다.

random.nextInt()함수를 통해 난수를 생성한다.

111111 ~ 999999 범위의 숫자를 얻기위해서 nextInt(888888) + 111111를 사용한다.

 

객체 변수를 선언하여 이메일 전송에 필요한 데이터를 할당한다.


		String setFrom = "####@####; // 자신의 이메일 계정의 주소
		String toMail = email; // 수신 받을 이메일
		String title = "슈펴멍뭉 인증번호 이메일 입니다"; // 제목작성
		String content = // 자신이 보낼 이메일 내용
				"슈퍼멍뭉을 방문해주셔서 감사합니다." + "<br><br>" + "인증 번호는" + checkNum + "입니다" + "<br>" + "해당 인증번호를 인증번호 확인란에 기입해주세요";

setFrom: root-context.xml에 입력한 자신의 이메일

toMail: 수신받을 이메일이다. 뷰로부터 받은 이메일 주소인 변수 email을 사용한다.

content: 자신이 보낼 이메일 내용이다.

		// 이메일 전송을 위한 코드

		try {

			MimeMessage message = mailSender.createMimeMessage();
			MimeMessageHelper helper = new MimeMessageHelper(message, true, "utf-8");
			helper.setFrom(setFrom);
			helper.setTo(toMail);
			helper.setSubject(title);
			helper.setText(content, true);
			mailSender.send(message);

		} catch (Exception e) {

			e.printStackTrace();

		}

		String num = Integer.toString(checkNum);
		System.out.println(num);
		return num;

	}

이메일 전송을 위한 코드을 적는다. 인증번호 데이터 같은 경우 int이기 때문에 ajax를 통한 요청으로 뷰에게 반환을 할 떄 String형으로 바꿔야한다.

String num을 선언하고 인증번호인 checkNum을 String값으로 선언한다.

return값으로 num을 사용한다.

댓글남기기