티스토리 뷰

1. 우선 구글 계정 가입을 한다.



2. https://www.google.com/settings/u/1/security/lesssecureapps 

   이곳에 가서 보안 수준을 사용으로 한다.



3. spring에서 메일 관련 라이브러리를 pom.xml에 의존성 주입

  - javax.mail           mail

  - org.springframework.integration           spring-integration-mail



4. 스프링 컨테이너인 root-context.xml에 관련 빈을 정의한다.


helpMailSendable

JavaMailSenderImpl을 주입받고 실제로 메일을 보내는 일을 

담당하는 사용자 정의 인터페이스


JavaMailSenderImpl

메일을 보내기 위하여 여러가지 값을 설정, 제공하는 인스턴스


<bean id="helpMailSendable" class="dev.mountaingo.kr.define_object.HelpMailSender"></bean>   <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.smtp.ssl.trust">smtp.gmail.com</prop> <prop key="mail.smtp.starttls.enable">true</prop> <prop key="mail.smtp.auth">true</prop> </props> </property> </bean>










HelpMailSender 클래스 실제 메일 보내기 담당


소스에 보이는 MimeMessage 타입의 인스턴스는 그냥 

텍스트만이 아닌 HTML의 형태로 메일을 보낼 수가 있다.

@Component public class HelpMailSender implements HelpMailSendable{   @Resource(name = "mailSender") JavaMailSender mailSender;   public void sendEmail(String email, String pw) {   MimeMessage message = mailSender.createMimeMessage(); try { message.setSubject("[안내] 임시 비밀번호 발신 <관리자가 보낸메일>", "euc-kr"); String htmlContent = "당신의 임시 비밀번호는 <Strong>" + pw + "</Strong> 입니다. 사이트에 접속해서 로그인 후 비밀번호를 변경하세요.<br>"; htmlContent += "<a href='http://localhost:9999/index.choon' target='_blank'>홈으로 이동</a>"; message.setText(htmlContent, "euc-kr", "html"); message.setFrom(new InternetAddress("")); message.addRecipient(RecipientType.TO, new InternetAddress(email)); mailSender.send(message); } catch (MessagingException e) { // TODO Auto-generated catch block e.printStackTrace(); }   }   }


Comments
최근에 올라온 글
최근에 달린 댓글
TAG
more
Total
Today
Yesterday