티스토리 뷰
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(); } } }
'SPRING > 정리' 카테고리의 다른 글
PROFILE 기능으로 서버설정과 로컬 설정을 구분하여 사용하기. (0) | 2016.01.14 |
---|---|
객체검증 @Valid 사용하기 (0) | 2015.12.05 |
[spring]에서 sitemesh설정 (레이아웃 템플릿) (0) | 2014.05.17 |
[네이버 지도 javascript map]Jdom을 이용한 스프링프레임워크 환경에서 xml 파싱하기 (2) | 2014.04.16 |
quartz 스케쥴러 스프링에서 사용법 (2) | 2014.03.05 |