用Spring的邮件抽象层发送邮件

1、MimeMessageHelper包装类

public class MessageWraper {
private MimeMessage message;
private MimeMessageHelper messageHelper;

public MimeMessage getMessage() {
return message;
}

public MimeMessageHelper getMessageHelper() {
return messageHelper;
}

public MessageWraper(MimeMessage message, MimeMessageHelper messageHelper){
this.message = message;
this.messageHelper = messageHelper;
}

public void setFrom(String from)throws MessagingException{
messageHelper.setFrom(from);
}

public void setTo(String[] toArray)throws MessagingException{
messageHelper.setTo(toArray);
}

public void setCc(String[] ccArray)throws MessagingException{
messageHelper.setCc(ccArray);
}

public void setSubject(String subject)throws MessagingException{
messageHelper.setSubject(subject);
}

public void setText(String text, boolean isHtml)throws MessagingException{
messageHelper.setText(text, isHtml);
}

public void setText(String text)throws MessagingException{
messageHelper.setText(text, false);
}

public void setSentDate(Date date)throws MessagingException{
if(date == null) date = new Date();
messageHelper.setSentDate(date);
}

public void addAttachment(File file)throws MessagingException,UnsupportedEncodingException{
if(file == null) return;
String fileName = MimeUtility.encodeText(file.getName(), Constants.mailEncoding, null);
messageHelper.addAttachment(fileName, file);
}
}


2、发送邮件的工具类

public class MailFactory {
private static JavaMailSender javaMailSender = null;

static{
javaMailSender = (JavaMailSender)SpringContextUtil.getBean("mailConfig");
}

/**
* 功能:获取邮件消息对象的包装类
*/
public static MessageWraper getMessageWraper()throws MessagingException{
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true, Constants.mailEncoding); //multipart模式

return new MessageWraper(mimeMessage, mimeMessageHelper);
}

/**
* 功能:发送邮件
*
* @param messageWraper 消息对象的包装类对象
*/
public static void send(MessageWraper messageWraper) throws Exception{
javaMailSender.send(messageWraper.getMessage());
}
}


3、包含邮件配置信息的bean

<bean id="mailConfig" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.163.com"/>
<property name="username" value="uid"/>
<property name="password" value="pwd"/>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
</props>
</property>
</bean>


4、实例代码

MessageWraper w2 = MailFactory.getMessageWraper();
w2.setFrom("ServerMailAddress@163.com");
w2.setTo(new String[]{"TargetAddress@139.com"});
w2.setSubject("标题");
w2.setText("邮件内容");
w2.addAttachment(new File("d:\\附件.txt"));
MailFactory.send(w2);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值