카테고리 없음
Spring JavaMailSenderImpl를 이용한 이메일전송
iamreo
2013. 4. 10. 18:02
반응형
1. XML설정
<!-- Email Sender -->
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="jeon.soul.com"/>
<!-- mail Server가 인증을 요구할 경우 -->
<property name="username" value="jeon"/>
<property name="password" value="test"/>
<!-- 표준SMTP 25번 포트가 아닐경우 지정한다. -->
<property name="port" value="25"/>
</bean>
<bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage">
<property name="from">
<value><![CDATA[
Tester <test@test.com>
]]></value>
</property>
<!-- 제목 및 내용이 정해져 있을경우 -->
<property name="subject" value="고객님께"/>
<!-- %AGE%은 동적으로 변경하기 위한 변수로 생각하면된다. -->
<property name="text">
<value><![CDATA[
http://www.test.com/test.do?name=%NAME%&age=%AGE%
]]></value>
</property>
</bean>
<bean id="mailSenderService" class="com.jeon.MailSenderService">
<property name="mailSender" ref="mailSender"/>
<property name="mailMessage" ref="mailMessage"/>
</bean>
2. MailSenderService클래스 작성
package com.jeon;
public class MailSenderService
{
private MailSender mailSender;
private SimpleMailMessage mailMessage;
public void setMailSender(MailSender mailSender){
this.mailSender = mailSender;
}
public void setMailMessage(SimpleMailMessage mailMessage){
this.mailMessage = mailMessage;
}
public void sendEmailForCustomer(String title, String email, String msg){
//메시지 사본생성
SimpleMailMessage message = new SimpleMailMessage(mailMessage);
message.setTo(email);
String text = message.getText();
text = StringUtils.replace(text,"%NAME%","성종");
text = StringUtils.replace(text,"%AGE%","29");
message.setText(text);
/* SimpleMailMessage를 빈으로 등록하지 않은경우.
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(email);
message.setSubject(title);
message.setFrom("test@test.com");
String text = message.getText();
text = StringUtils.replace(text,"%TITLE%",title);
text = StringUtils.replace(text,"%MSG%",msg);
message.setText(text);
*/
mailSender.send(message);
}
}
3. gmail 및 daum메일을 이용하여 메일 전송하기
<!-- gmail, hanmail 용 -->
<bean id="mailSender"
class="org.springframework.mail.javamail.JavaMailSenderImpl"
p:host="한메일: pop.hanmail.net, 지메일:smtp.gmail.com"
p:port="465"
p:protocol="smtps"
p:username="아이디"
p:password="비밀번호">
<property name="javaMailProperties">
<props>
<prop key="mail.smtps.auth">true</prop>
<prop key="mail.smtps.startls.enable">true</prop>
<prop key="mail.smtps.debug">true</prop>
</props>
</property>
</bean>
<bean id="mailSender"
class="org.springframework.mail.javamail.JavaMailSenderImpl"
p:host="한메일: pop.hanmail.net, 지메일:smtp.gmail.com"
p:port="465"
p:protocol="smtps"
p:username="아이디"
p:password="비밀번호">
<property name="javaMailProperties">
<props>
<prop key="mail.smtps.auth">true</prop>
<prop key="mail.smtps.startls.enable">true</prop>
<prop key="mail.smtps.debug">true</prop>
</props>
</property>
</bean>
반응형