spring 邮件发送(可包括html页面,图片,附件) /** * 邮件发送(可包括html页面,图片,附件) * * @author yhy 2011-1-6 */ @Component public class SimpleHtmlMailMessage { static Logger logger = Logger.getLogger(SimpleHtmlMailMessage.class); private String from; private String to; private String cc; private String bcc; private String subject; private String text; private List<String[]> images; private List<String> files; @Autowired private MailSender mailSender; public boolean sendMail() { boolean success = true; JavaMailSenderImpl sender = (JavaMailSenderImpl) this.mailSender; MimeMessage msg = sender.createMimeMessage(); try { MimeMessageHelper helper = new MimeMessageHelper(msg, true, "UTF-8"); helper.setFrom(this.from); // 收件人 InternetAddress[] address = InternetAddress.parse(this.to); helper.setTo(address); // 抄送人 if (StringUtils.trimToNull(this.cc) != null) { address = InternetAddress.parse(this.cc); helper.setCc(address); } // 密送人 if (StringUtils.trimToNull(this.bcc) != null) { address = InternetAddress.parse(this.bcc); helper.setBcc(address); } // 标题 helper.setSubject(this.subject); // 带Html内容 helper.setText(this.text, true); helper.setSentDate(new Date()); // 添加图片 if (images != null) { for (String[] arr : images) { helper.addInline(arr[0], new File(arr[1])); } } // 添加附件 if (files != null) { for (String s : files) { File file = new File(s); helper.addAttachment( MimeUtility.encodeWord(file.getName()), file); } } sender.send(msg); } catch (Exception e) { success = false; logger.error(e); } return success; } } bean配置 <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="smtp.qq.com" /> <property name="port" value="25" /> <property name="username" value="10010@qq.com" /> <property name="password" value="mm" /> <property name="javaMailProperties"> <props> <prop key="mail.smtp.auth">true</prop> </props> </property> </bean> <bean id="simpleHtmlMailMessage" class="com.yhy.impl.SimpleHtmlMailMessage" autowire="default"> <property name="from" value="10010@qq.com"></property> <property name="to" value=""></property> <property name="subject" value="系统邮件"></property> </bean> 测试代码 @ContextConfiguration @RunWith(SpringJUnit4ClassRunner.class) public class SimpleHtmlMailMessageTest { @Autowired private SimpleHtmlMailMessage simpleHtmlMailMessage; @Test public void testSendMail() { String text = "<font color='blue'>O(∩_∩)O哈哈~</font>插入一个图片试试?<img src="/" mce_src="/""cid:a/"></img>"; List<String[]> images = new ArrayList<String[]>(); images.add(new String[] { "a", "E://IESets//yhy//documents//未命名.jpg" }); List<String> files = new ArrayList<String>(); files.add("E://IESets//yhy//documents//未命名.jpg"); simpleHtmlMailMessage.setTo("360862816@qq.com"); simpleHtmlMailMessage.setText(text); simpleHtmlMailMessage.setImages(images); simpleHtmlMailMessage.setFiles(files); assertTrue(simpleHtmlMailMessage.sendMail()); } }