메뉴 건너뛰기

조회 수 14933 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
자바] 스프링(spring) 메일 발송 :: mailSender

부제 : spring 기반으로 사용자들에게 쉽게 메일 보내는 방법! : java + spring + maven 

 

이번 프로젝트 진행 중 깊은 빡침을 느끼게 했던 메일보내기!

정말 간단. 한것이었는데 거의 삽질의 삽질을 한 듯. @.@@@ 뭐가 이렇게 안되니ㅠ.ㅠ

 

그래서 혹시 도움이 될 수도 있길 바라며 간단하게 정리해 본다. 

이거 완전 간단하다...ㅎ (소곤소곤 나 왜 삽질한거얌...ㅠ.ㅠ?ㅎㅎㅎ)

 

 

1. pom.xml 

 

mail 관련 dependency를 추가! (메이븐 참 편해!)

 

 <dependency>

  <groupId>javax.mail</groupId>

<artifactId>mail</artifactId>

<version>1.4.7</version>

</dependency>

 

 

 

 

 

2. servlet-context.xml 

 

mailSender bean 객체 생성! 

 

 <!-- mail bean -->

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">

  <property name="host" value="메일 host or smtp.gmail.com"/>

  <property name="port" value="해당 포트"/>

  <property name="username" value="메일 ID"/>

  <property name="password" value="해당 메일 비번"/>

  <property name="javaMailProperties">

   <props>

    <prop key="mail.smtp.auth">true</prop>

    <prop key="mail.smtp.starttls.enable">true</prop>

    <prop key="mail.smtp.timeout">8500</prop> // mail 서버 연결시 timeout 시간 설정

    <prop key="mail.debug">true</prop> // log를 보고 싶다면 사용

   </props>

  </property>

</bean>

 

위에 내 소스는 메일 서버가 있기때문에 해당 host, port를 사용했지만 

보통 사람들이 gmail을 많이 사용하기 때문에 gmail mailSender 설정도 적어 놓았다.

 

[ gmail로 mailSender 등록하기 ]

host : smtp.gmail.com

port : 587

username : 이용 메일 서버 ID

password : 해당 메일 비밀 번호

참고 사이트 : https://support.google.com/mail/answer/13287?hl=ko

 

 

 

 

 

3. 메일 코드 작성

(원하는 바에 맞게 수정하여 테스트로 보시길.)


메일 폼 방식에는 2가지(simpleMailMessage, MimeMessage)가 있다.

 

simpleMailMessage : 오로지 String으로 메일을 보낼 때 사용한다. (이 폼으로 html을 보내면 다 깨진다! 조심)

MimeMessage : html, 첨부파일등 다양한 폼의 메일을 보낼 때 사용한다. 


 3.1. MimeMessage 방식 

 

@Autowired

private JavaMailSender mailSender; // xml에 등록한 bean autowired

 

public void sendMail(String from, String to, String subject, String text, String formUrl) throws FileNotFoundException, URISyntaxException {

try{

SimpleMailMessage message = new SimpleMailMessage();

 

message.setFrom(from);

  message.setTo(to);

  message.setSubject(subject);

  message.setText(mailText);

  

mailSender.send(message);

 

}catch(Exception e){

  e.printStackTrace();

}   

}


 3.2. MimeMessage 방식

 

@Autowired

private JavaMailSender mailSender; // xml에 등록한 bean autowired

 

public void sendMail(String from, String to, String subject, String text, String formUrl) throws FileNotFoundException, URISyntaxException {

try{

MimeMessage message = mailSender.createMimeMessage();

 

message.setFrom(new InternetAddress(from)); 

message.addRecipient(RecipientType.TO, new InternetAddress(to));

message.setSubject(subject);

message.setText(text, "utf-8", "html");

  

mailSender.send(message);

 

}catch(Exception e){

  e.printStackTrace();

}   

}

 

 


  1. 검색엔진 (2) - 라이브러리: Lucene, Solr, Elasticsearch

    Date2016.12.08 Views6289
    Read More
  2. 검색엔진 (1) - 검색엔진의 이해

    Date2016.12.08 Views6105
    Read More
  3. Nutch 0.9 를 이용하여 한글 검색하기

    Date2016.12.08 Views5995
    Read More
  4. solr적용시 사용법

    Date2016.12.08 Views5632
    Read More
  5. Spring Framework 개요

    Date2016.12.08 Views5396
    Read More
  6. Spring AOP(Aspect Oriented Programming) 에서의 용어

    Date2016.12.08 Views5241
    Read More
  7. 스프링을 구성하는 코어 모듈 - core module

    Date2016.12.08 Views5180
    Read More
  8. 스프링 2.5.2 설치및 HelloWorld 출력하기

    Date2016.12.06 Views5905
    Read More
  9. Spring 개발을 위한 Eclipse 개발 환경 구성하기

    Date2016.12.06 Views5475
    Read More
  10. 스프링(spring) 메일 발송 :: mailSender

    Date2016.08.18 Views14933
    Read More
  11. Spring Security Basic 인증 비활성화 설정

    Date2016.08.18 Views5616
    Read More
  12. 스프링 AOP의 주요 용어

    Date2016.08.18 Views5904
    Read More
  13. 스프링 Bean 객체의 초기화 및 소멸시 호출 메서드

    Date2016.08.18 Views5058
    Read More
  14. 스프링 XML 설정에서 자바 설정 Import하기

    Date2016.08.18 Views5125
    Read More
  15. 자바 스프링, spring AOP 구현 (xml 방식)

    Date2016.08.18 Views5957
    Read More
  16. 자바 스프링, spring AOP 구현 (xml 방식)

    Date2016.08.18 Views6281
    Read More
  17. 자바 스프링프레임워크 개발환경 설정하기-2편

    Date2016.08.18 Views6543
    Read More
  18. 자바 스프링프레임워크 개발환경 설정하기-1편

    Date2016.08.18 Views6897
    Read More
Board Pagination Prev 1 2 Next
/ 2

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved