应用Spring JavaMail发送邮件总结
使用Spring JavaMail发送邮件总结一直以来都是用javax.mail来写email发送,看了spring的javamail之后才知道
使用Spring JavaMail发送邮件总结
一直以来都是用javax.mail来写email发送,看了spring的javamail之后才知道javax.mail臃肿繁杂。
下面总结一下spring javamail的应用:
首先导入使用jar包:activation.jar,commons-logging-1.0.4.jar,mail.jar,spring.jar
?
1、使用xml配置javamail:
在classpath底下新建application-mail.xml,内容如下:
?
?
?
?
public?class?SendMail?{ ???public?ApplicationContext?ctx?=?null; ???public?SendMail()?{ ????//获取上下文 ????ctx?=?new?ClassPathXmlApplicationContext("applicationContext.xml"); ???} ???public?void?send()?{ ????//获取JavaMailSender?bean ????JavaMailSender?sender?=?(JavaMailSender)?ctx.getBean("mailSender"); ????JavaMailSenderImpl?senderImpl?=?new?JavaMailSenderImpl(); ????MimeMessage?mailMessage?=?senderImpl.createMimeMessage(); ????//设置utf-8或GBK编码,否则邮件会有乱码 ????MimeMessageHelper?messageHelper?=?new?MimeMessageHelper(mailMessage,true,"utf-8"); ????try?{ ?????messageHelper.setTo(email.getEmail());//接受者??? ?????messageHelper.setFrom("xxx@163.com");//发送者 ?????messageHelper.setSubject("测试邮件");//主题 ?????//邮件内容,注意加参数true ?????messageHelper.setText("<html><head></head><body><h1>hello!!chao.wang</h1></body></html>",true); ?????//附件内容 ?????messageHelper.addInline("a",?new?File("E:/xiezi.jpg")); ?????messageHelper.addInline("b",?new?File("E:/logo.png"));? ?????File?file=new?File("E:/测试中文文件.rar");?? ?????//?这里的方法调用和插入图片是不同的,使用MimeUtility.encodeWord()来解决附件名称的中文问题 ?????messageHelper.addAttachment(MimeUtility.encodeWord(file.getName()),?file);? ?????sender.send(mailMessage); ????}?catch?(Exception?e)?{ ?????e.printStackTrace(); ????} ???}??