Developer Cafe

JAVA/Spring boot 네이버 메일 보내기 설정하기 본문

JAVA

JAVA/Spring boot 네이버 메일 보내기 설정하기

개발자 카페 2021. 2. 25. 02:24
728x90
본 글에서는 간단히 텍스트 형식의  네이버메일 보내기만 해보겠습니다.

 

설정을 하는데 두가지로 나눌 수 있습니다.

  1. 2단계보안설정을 안한자
  2. 2단계보안설정을 한자 입니다.

공통적으로 설정하셔야 하는부분입니다

다음은 코드입력입니다.
@PostMapping("/mail")
	public void mail(SendToMeDto sendToMeDto, HttpServletResponse response) {
		log.info("mail이 호출되었습니다.");
		
		response.setContentType("text/html; charset=UTF-8");
		PrintWriter out=null;
		
		SimpleEmail email1 = new SimpleEmail();
		email1.setHostName("smtp.naver.com");
		email1.setSmtpPort(465);
		email1.setAuthentication("위 사진에서 기억해라는 아이디", "본인 비밀번호");
		
		// 보안연결 SSL, TLS 사용 설정
		email1.setSSLOnConnect(true);
		email1.setStartTLSEnabled(true);
		
		String response1 = "fail";
		
		try {
			// 보내는 사람 설정 (SMTP 서비스 로그인 계정 아이디와 동일하게 해야함에 주의!)
			email1.setFrom("보내는메일", "관리자", "utf-8");			
			// 받는 사람 설정
			email1.addTo("받는메일", "이름", "utf-8");			
			// 제목 설정
			email1.setSubject("제목입니다");			
			email1.setMsg("메시지입니다");			
			// 메일 전송하기
			try {
				out = response.getWriter();
				response1 = email1.send();
				out.println("<script>alert('메일을 보냈습니다'); history.back();</script>");				
			} catch (IOException e) {			
				e.printStackTrace();
			}			
		} catch (EmailException e) {
			e.printStackTrace();
		}
		
	}
또한 dependency를 설정하여야 되는데
Spring boot 사용자는 porn.xml에 아래의 commons email을 추가합니다.
(java 사용자는 lib파일안에 commons-email.jar 파일을 추가한다)
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-email</artifactId>
    <version>1.5</version>
</dependency>

저는 Spring boot로 mail 컨트롤러를 postmapping 처리할때를 가정하고 사용하였습니다.

주의해야할점은 위에서 11번째줄 "본인비밀번호" 입니다

여기에서 본인이 2단계인증 사용하지 않는다면 네이버 비밀번호 그대로 입력하시고

2단계 인증을 사용한다면 아래 포스터도 봐 주세요

 

생성하기 버튼을 누르면 나오는 비밀번호를 아까 위 코드 11번째줄 "본인비밀번호" 에 넣어주세요

 

정상적으로 보내졌습니다.

이상 네이버 메일 보내기 포스터를 끝내겠습니다.

 

 

 

 

 

 

 

 

 

728x90

'JAVA' 카테고리의 다른 글

사례를 통해 JAVA코드로 달력 구현하기  (0) 2021.06.23
Optional  (0) 2021.05.21
DTO 설계하기  (0) 2021.05.11
JIT 컴파일러 (Just-In-Time 컴파일러)  (0) 2021.03.06
세션(Session) vs 쿠키(Cookie) 차이  (0) 2021.03.06
Comments