ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring 메일 보내는 법
    SpringFrameWork/Spring 프로젝트 할때 참고 하면 좋은것들 2022. 10. 5. 10:28
    728x90

    메일을 보내는 방법

     

    먼저 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="이메일"/>
        <property name="password" value="비밀번호"/>
        <property name="javaMailProperties">
          <props>
            <prop key="mail.transport.protocol">smtp</prop>
    			  <prop key="mail.smtp.starttls.enable">true</prop>
    			  <prop key="mail.debug">true</prop>
            <prop key="mail.smtp.ssl.trust">smtp.gmail.com</prop>
            <prop key="mail.smtp.ssl.protocols">TLSv1.2</prop>
          </props>
        </property>
      </bean>

     

    설정을 완료 했다면 

    	// 메일폼 호출
    	@RequestMapping(value = "/mail/mailForm", method = RequestMethod.GET)
    	public String mailFormGet() {
    		return "study/mail/mailForm";
    	}
    	
    	// 메일전송
    	@RequestMapping(value = "/mail/mailForm", method = RequestMethod.POST)
    	public String mailFormPost(MailVO vo) {
    		try {
    			String toMail = vo.getToMail();
    			String title = vo.getTitle();
    			String content = vo.getContent();
    			// 메세지를 변환시켜서 보관함(messageHelper)에 저장하여 준비한다.
    			MimeMessage message = mailSender.createMimeMessage();
    			MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "UTF-8");
    			// 메일보관함에 회원이 보낸온 메세지를 모두 저장시켜둔다.
    			messageHelper.setTo(toMail);
    			messageHelper.setSubject(title);
    			messageHelper.setText(content);
    			// 메세지 보관함의 내용을 편집해서 다시 보관함에 담아둔다.
    			content = content.replace("\n", "<br>");
    			content += "<br><hr><h3>길동이가 보냅니다.</h3><hr><br>";
    			content += "<p><img src=\"cid:main.jpg\" width='500px'></p><hr>";
    			content += "<p>방문하기 : <a href='http://49.142.157.251:9090/cjgreen'>javagreenJ사이트</a></p>";
    			content += "<hr>";
    			messageHelper.setText(content, true);
    			// 본문에 기재된 그림파일의 경로를 따로 표시시켜준다.
    			FileSystemResource file = new FileSystemResource("C:\\Users\\박성재\\git\\repository6\\javagreenS\\src\\main\\webapp\\resources\\images\\main.png");
    			messageHelper.addInline("main.jpg", file);
    			// 메일 전송하기
    			mailSender.send(message);
    		} catch (MessagingException e) {
    			e.printStackTrace();
    		}
    		return "redirect:/msg/mailSendOk";
    	}

    값을 받아와서 전송 해준다~!?

    728x90

    댓글

Designed by Tistory.