1. Email模型实体类
package com.spring.email; import java.io.File; import java.util.Date; public class MailBean { //发送邮件账号 private String from; //接收邮件账号集合 private String[] tos = {}; //密送邮件账号集合 private String[] bcc = {}; //抄送邮件账号集合 private String[] cc = {}; //回复地址 private String relpyTO; //文本或HTML private String text; //主题 private String subject; //日期 private Date date; //附件 private File[] files = {}; public String getFrom() { return from; } public void setFrom(String from) { this.from = from; } public String[] getTos() { return tos; } public void setTos(String[] tos) { this.tos = tos; } public String[] getBcc() { return bcc; } public void setBcc(String[] bcc) { this.bcc = bcc; } public String[] getCc() { return cc; } public void setCc(String[] cc) { this.cc = cc; } public String getRelpyTO() { return relpyTO; } public void setRelpyTO(String relpyTO) { this.relpyTO = relpyTO; } public String getText() { return text; } public void setText(String text) { this.text = text; } public String getSubject() { return subject; } public void setSubject(String subject) { this.subject = subject; } public Date getDate() { if(date==null){date = new Date();} return date; } public void setDate(Date date) { this.date = date; } public File[] getFiles() { return files; } public void setFiles(File[] files) { this.files = files; } }
2. 邮件处理类
package com.spring.email; import java.io.File; import java.io.UnsupportedEncodingException; import java.util.HashMap; import java.util.Map; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeUtility; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.ui.freemarker.FreeMarkerTemplateUtils; import freemarker.template.Configuration; import freemarker.template.Template; public class Mail { /** * java 发送邮件 * org.springframework.mail.javamail.JavaMailSender 接口 */ private JavaMailSender mailSender; /** * FreeMarker 配置 */ private Configuration config; /** * 获取 * 使用模板发邮件 * @param fileName 模板名称 * @param molde 动态对象 * @return 模板 文本、HTML * @throws Exception */ public String getTemplateText(String fileName,Object... molde) throws Exception{ Map<String,Object> map = new HashMap<String,Object>(); for (Object object : molde) { String name = object.getClass().getSimpleName(); name = name.replaceFirst(name.substring(0, 1), name.substring(0, 1).toLowerCase()); map.put(name,object); } Template template = config.getTemplate(fileName); return FreeMarkerTemplateUtils.processTemplateIntoString(template, map); } /** * 发送邮件 * @param bean 邮件属性 * @throws MessagingException * @throws UnsupportedEncodingException */ public void send(MailBean bean) throws MessagingException, UnsupportedEncodingException{ MimeMessage msg = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(msg,true,"UTF-8"); msg.setSubject(bean.getSubject()); helper.setSentDate(bean.getDate()); helper.setText(bean.getText()); helper.setReplyTo(bean.getRelpyTO()); helper.setFrom(bean.getFrom()); for (File file : bean.getFiles()) { helper.addAttachment(MimeUtility.encodeWord(file.getName()), file); } for (String bcc : bean.getBcc()) { helper.addBcc(bcc); } for (String cc : bean.getCc()) { helper.addBcc(cc); } for (String to : bean.getTos()) { helper.addTo(to); } mailSender.send(msg); } /** * 发送邮件 HTML 格式 * @param bean 邮件属性 * @throws MessagingException * @throws UnsupportedEncodingException */ public void sendHTML(MailBean bean) throws MessagingException, UnsupportedEncodingException{ MimeMessage msg = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(msg,true,"UTF-8"); msg.setSubject(bean.getSubject()); helper.setSentDate(bean.getDate()); helper.setText(bean.getText(),true); helper.setReplyTo(bean.getRelpyTO()); helper.setFrom(bean.getFrom()); for (File file : bean.getFiles()) { helper.addAttachment(MimeUtility.encodeWord(file.getName()), file); } for (String bcc : bean.getBcc()) { helper.addBcc(bcc); } for (String cc : bean.getCc()) { helper.addBcc(cc); } for (String to : bean.getTos()) { helper.addTo(to); } mailSender.send(msg); } /** * 发送邮件 HTML模板 格式 * @param bean 邮件属性 * @throws MessagingException * @throws UnsupportedEncodingException */ public void sendTemplate(MailBean bean,String fileName,Object... molder) throws Exception{ MimeMessage msg = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(msg,true,"UTF-8"); msg.setSubject(bean.getSubject()); helper.setSentDate(bean.getDate()); helper.setText(getTemplateText(fileName,molder),true); helper.setReplyTo(bean.getRelpyTO()); helper.setFrom(bean.getFrom()); for (File file : bean.getFiles()) { helper.addAttachment(MimeUtility.encodeWord(file.getName()), file); } for (String bcc : bean.getBcc()) { helper.addBcc(bcc); } for (String cc : bean.getCc()) { helper.addBcc(cc); } for (String to : bean.getTos()) { helper.addTo(to); } mailSender.send(msg); } public JavaMailSender getMailSender() { return mailSender; } public void setMailSender(JavaMailSender mailSender) { this.mailSender = mailSender; } public Configuration getConfig() { return config; } public void setConfig(Configuration config) { this.config = config; } }
3. Spring XML配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"> <bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="port" value="25"/> <property name="protocol" value="smtp"/> <property name="host" value="smtp.qq.com"/> <property name="username" value="1548284991@qq.com"/> <property name="password" value="**********"/> <property name="defaultEncoding" value="utf-8"/> <property name="javaMailProperties"> <props> <prop key="mail.smtp.auth">true</prop> </props> </property> </bean> <bean id="freeMarkerConfiguration" class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean"> <property name="freemarkerSettings"> <props> <prop key="default_encoding">UTF-8</prop> <prop key="template_update_delay">600000</prop> </props> </property> <property name="templateLoaderPath" value="com/spring/freemaker"/> </bean> <bean class="com.spring.email.Mail"> <property name="mailSender" ref="javaMailSender"/> <property name="config" ref="freeMarkerConfiguration"/> </bean> <bean id="dateFormat" class="java.text.SimpleDateFormat"> <constructor-arg value="yyyy-MM-dd"/> </bean> </beans>
4. 发送邮件
package com.spring.email; import javax.mail.MessagingException; import org.springframework.beans.BeansException; import org.springframework.beans.factory.BeanFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; public class SpringSendEmail { public static void main(String[] args) throws BeansException, MessagingException { try { BeanFactory factory = new ClassPathXmlApplicationContext("app*.xml"); Mail mail = factory.getBean(Mail.class); MailBean bean = factory.getBean(MailBean.class); mail.sendTemplate(bean, "registerTemplate.html"); System.out.println("success"); } catch (Exception e) { System.out.println(e.getMessage()); } } }
相关推荐
在实际项目中常常会碰到注册会员时,通过注册时的邮箱进行会员认证操作;...管理员也可以通过系统邮箱进行消息推送! 那么在实际的开发中如何发系统邮件昵?我这里采用的是:asp+jmail组件发送系统邮件!
VB6+Jmail简单的邮件收发小程序......
一个用ASP+Jmail发邮件的完整范例,只要你的空间支持,稍微修改参数配置,马上就能使用! 代码内有非常详细的代码注释!
VB+JMAIL邮件发送样例,好久以前的代码,分享一下给大家,需要 安装下载JMail组件
各种探针和一些常用组件测试工具。 ASP探针+PHP探针+NET探针+jmail收发邮件测试+aspJpeg水印测试+aspUpLoad上传测试
vs2010 + asp.net mvc3 + jquery ajax 的 JMail 示例,代碼精簡,註釋詳細
asp+w3jmail邮件发送(成功发送附详细说明).rar.rar
VC+jmail4.4组件发邮件,可以发多个附件,发邮件要密码认证
主要介绍了asp+JMAIL实现发送邮件实例代码,感兴趣的小伙伴们可以参考一下
利用Jmail发送邮件:收邮件利用Jmail发送邮件:利用Jmail发送邮件:利用Jmail发送邮件:利用Jmail发送邮件:
ASP+Jmail提交表单到指定邮箱方法
开发环境vs2008,语言C#,功能利用jmail组件发送电子邮件,项目中包含jmail及使用说明安装包。
利用jmail组件发送邮件和接收邮件,主要是上传指定位置的文件到邮件附件,并发送;把邮件附件下载到本地的指定文件夹。
最近在开发一个项目,需要开发一个web版的邮件客户端程序,做了一个测试程序,没有加太多细节的代码,如果有需要的朋友,可以下载参考一下。点击下载 程序中用到了JMail 4.4专业版,需要的朋友也可以参考文章:...
asp开发中必须的两个组件,AspJpeg用来生成缩略图和水印,JMail用来发送邮件!
asp.net中使用Jmail发送邮件
jmail表单发送邮件,可以发送邮件,必须有jmail,表单发送
jmail jmail是一种服务器端的邮件发送组件,和个人用的客户端邮件软件不一样的。jmail是在服务器上给程序用来发邮件用的,除了软件编程人员,其他人一般平常用不上。 jmail是一个第三方邮件操作组件,通常位于web...
JMail插件用于邮件接收和发送 JMail插件用于邮件接收和发送 JMail插件用于邮件接收和发送
可以实现邮件发送功能 可以用除QQ以外的任何邮箱发送到任何邮件地址,研究了一早上搞定的 MyEclipse+Jmail(mail.jar和activation.jar)jar包下载地址 http://download.csdn.net/source/2640834