티스토리 뷰
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 |
Comments