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()); } } }
相关推荐
在开发过程中,需要注意的是,由于网络安全问题,现在许多邮件服务提供商要求使用SSL/TLS加密连接来发送和接收邮件,因此在配置Jmail时,可能需要启用这些安全选项。此外,错误处理和异常处理也是开发过程中必不可少...
在实际项目中常常会碰到注册会员时,通过注册时的邮箱进行会员认证操作;...管理员也可以通过系统邮箱进行消息推送! 那么在实际的开发中如何发系统邮件昵?我这里采用的是:asp+jmail组件发送系统邮件!
在本示例中,我们将探讨如何使用ASP结合Jmail组件发送电子邮件。Jmail是一款功能强大的ASP邮件组件,允许开发者在ASP环境中实现SMTP(Simple Mail Transfer Protocol)邮件发送功能。 首先,确保你的Web服务器支持...
总结来说,VB+JMail邮件发送涉及的主要知识点包括:VB编程基础、JMail组件的使用、邮件属性设置、邮件发送过程以及VB项目文件结构。通过理解和应用这些知识,开发者可以创建出能够发送邮件的VB应用程序。
通过学习这个示例,开发者不仅可以掌握如何在ASP.NET MVC3中使用JMail发送邮件,还能了解如何整合jQuery和AJAX以创建交互式的Web应用。此外,理解MVC设计模式对于提升Web开发技能至关重要,因为它鼓励分离关注点,...
在ASP中使用W3JMail发送邮件的过程主要包括以下几个步骤: 1. **安装和引用W3JMail组件**: 首先,你需要在服务器上安装W3JMail组件。这通常涉及到将组件文件复制到服务器的特定目录,如`INETPUB\SCRIPTS`,然后在...
9. **邮件队列管理**:在高并发环境下,JMAIL可能会使用邮件队列来处理大量邮件,避免一次性发送过多邮件导致的网络阻塞或服务器压力。 10. **附件管理**:JMAIL允许添加和管理邮件附件,包括大小限制和类型检查等...
5. **SMTP服务器配置**:在使用JMail发送邮件时,需要配置SMTP服务器的地址、端口、用户名和密码等信息。这通常涉及到网络配置和安全性设置,确保邮件能够正确地发送到目标邮箱。 6. **代码精简和注释**:项目描述...
这个测试可能包含配置jmail发送和接收邮件的能力,验证SMTP和POP3服务器设置的有效性。 5. **aspJpeg水印测试**:`aspJpeg`是一个ASP图像处理组件,能够处理JPEG图像,如添加水印、缩放、裁剪等。这可能是用于测试...
主要介绍了asp+JMAIL实现发送邮件实例代码,感兴趣的小伙伴们可以参考一下
`JMail.Charset="gb2312"`确保邮件内容使用GB2312编码,适合中文字符的处理。然后,`JMail.Content`属性设置为`mess`,这包含了用户提交的所有信息。 最后,`JMail.To`指定收件人的邮箱地址,`JMail.Subject`定义...
要使用JMail发送邮件,首先需要确保你的服务器支持SMTP服务,因为大多数邮件发送都是通过SMTP协议进行的。SMTP服务器配置包括主机名(如smtp.example.com)和端口号(通常为25,SSL/TLS加密时可能是465或587)。 接...
**Jmail 发送电子邮件例子** ...不过,这个例子已经提供了一个很好的起点,帮助开发者理解和实现使用JEmail、Spring和Struts2发送邮件的功能。通过深入研究和实践,你可以构建出更强大的邮件系统,满足各种需求。
接下来,要在ASP.NET中使用Jmail发送邮件,首先要在你的Web.config文件中配置Jmail的相关设置。这通常包括SMTP服务器地址、端口、用户名、密码等信息。例如: ```xml <add key="JMail.SMTPServer" value=...
总的来说,JMail是一款强大且灵活的邮件发送工具,适合各种规模的企业和个人使用,尤其在批量邮件发送场景下,其高效和稳定的特点尤为突出。通过深入理解和使用JMail,开发者可以构建出高效、可靠的邮件系统,满足...
- `save.asp`: 这个文件可能包含了接收表单数据并使用JMail发送邮件的逻辑。 - `default.asp`: 可能是用户填写邮件信息的表单页面。 - `checkcode.asp`: 可能用于验证码验证,防止垃圾邮件。 - `validatebody....
使用JMail发送邮件主要包括以下几个步骤: 1. **配置SMTP服务器**:JMail需要知道SMTP服务器的信息,包括服务器地址、端口号、用户名和密码。这些信息可以在程序中以Properties对象的形式设置。 2. **创建Session...
### 使用Jmail发送与接收邮件的关键技术点 #### 发送邮件 在提供的代码片段中,主要涉及了如何使用Jmail库来实现邮件的发送功能。Jmail是一个强大的.NET类库,用于开发支持SMTP、POP3协议的应用程序。下面将详细...
3. **附件支持**:用户可以通过JMail发送任意类型的文件作为邮件附件,方便分享文档、图片或其他数据。 4. **身份验证**:对于需要登录的SMTP服务器,JMail支持SMTP认证,如用户名和密码验证。 5. **错误处理**:...
最近在开发一个项目,需要开发一个web版的邮件客户端程序,做了一个测试程序,没有加太多细节的代码,如果有需要的朋友,可以下载参考一下。点击下载 程序中用到了JMail 4.4专业版,需要的朋友也可以参考文章:...