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);