Spring有一个专门负责管理Javamail发送的机制,在org.springframework.mail包下是负责管理JavaMail发送的,我把这个包下的类封装到一个Jar文件中作为jar包资源使用,(如有需要下载的可以到我的资源中下载),其中org.springframework.mail.javamail.JavaMailSenderImpl就是我们需要用到掌管发送邮件的类,在Spring中的配置如下:
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="username"><value>${mail.smtp.username}</value></property>
<property name="password"><value>${mail.smtp.password}</value></property>
<property name="host"><value>${mail.smtp.host}</value></property>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
<prop key="mail.smtp.timeout">${mail.smtp.timeout}</prop>
</props>
</property>
</bean>
各种属性:username邮件发送用户名,password邮件发送密码,host邮件发送服务器,JavaMailProperties其它属性,
mail.smtp.auth是否需要通过密码验证,mail.smtp.timeout邮件发送延时时间。
之后需要设置邮件发送各项内容,邮件发送分为普通邮件格式和超文本邮件格式,下面是发送超文本邮件格式代码:
MimeMessage mime = mailSender.createMimeMessage();
MimeMessageHelper mimehelper = new MimeMessageHelper(mime, true);
mimehelper.setFrom(mail.getFrom());//设置发送人
mimehelper.setTo(mail.getTo());//设置收件人
if (mail.getCc() != null && !"".equals(mail.getCc()))
mimehelper.setCc(mail.getCc());//设置抄送人
if (mail.getAcc() != null && !"".equals(mail.getAcc()))
mimehelper.setBcc(mail.getAcc());//设置暗送人
mimehelper.setSentDate(new Date());//设置发送日期
mimehelper.setSubject(mail.getSubject());//设置主题
mimehelper.setText(mail.getContent(), true);//设置邮件内容为HTML超文本格式
FileSystemResource fsr = new FileSystemResource(attement.get(i));//设置附件内容
mimehelper.addInline(attementFileName.get(i), fsr);//添加附件
mailSender.send(mime);//将邮件发送
如果要设置附件发送类型不能为exe文件,一般是判断文件类型和文件后缀名。代码如下:
for (int i = 0; attement != null && i < attementContentType.size(); i++) {
if ("application/octet-stream".equals(attementContentType.get(i))
&& attementFileName.get(i).endsWith(".exe")) {
this.addFieldError("attement", attementFileName.get(i)
+ "是可执行文件。出于安全性考虑,不允许添加此文件。");
}
}
分享到:
相关推荐
当我们需要在Spring应用中实现邮件发送功能时,通常会整合Spring与JavaMail。下面将详细讲解如何利用Spring整合JavaMail发送QQ邮件。 首先,我们需要在项目中引入JavaMail的相关依赖。在Maven项目中,可以在pom.xml...
springboot集成javamail,实现发送邮件的功能,可以发送文本类型邮件,也可以发送html格式的邮件,其中整合了mysql、mybatis 具体集成步骤可以参考我的文章: https://www.jianshu.com/p/668d320b4981
【javamail邮件发送项目】是一个基于Java技术的邮件发送解决方案,主要利用Spring框架进行配置,结合FreeMarker(FTL)模板技术实现邮件内容的动态生成,并具备异步发送及批量处理邮件的能力,最多可同时处理1000份...
总结起来,Spring结合JavaMail API发送邮件的过程主要包括:配置`JavaMailSender` bean,创建邮件消息对象,设置邮件内容和属性,最后通过`JavaMailSender`实例发送邮件。通过这种方式,开发者可以轻松地在Spring...
在本文中,我们将深入探讨如何使用Spring框架实现邮件发送功能,特别关注SSM(Spring、Spring MVC、MyBatis)和JavaMail的整合。对于初学者来说,这是一个基础且易于理解的教程,只需要遵循简单的步骤就能成功实现...
### 在Spring中结合JavaMail与Quartz实现定时邮件发送 #### 概述 在Web开发领域,自动化定时任务是常见的需求之一,例如自动发送报告、更新数据或进行系统维护等。Spring框架因其强大的功能和灵活性,成为了实现...
3. 定义邮件发送Job:创建一个Job类,实现`execute`方法,该方法包含了发送邮件的具体代码,如使用JavaMail API创建并发送邮件。 4. 创建Trigger:配置一个Trigger,它决定Job的执行时间,可以是简单的cron表达式...
导入到Myeclipse 即可运行 测试使用的是QQ邮箱 在application.xml中配置的发送邮箱 要到邮箱中设置 POP3/SMTP服务为开。项目不部署到tomcat后启动服务,然后运行test.java 就发送了,。绝对可以发送
### Spring结合JavaMail开发文档知识点...通过上述知识点的学习,开发者可以更加高效地利用Spring与JavaMail组合来实现邮件发送的功能,无论是简单的纯文本邮件还是复杂的HTML邮件甚至是带有附件的邮件都能轻松应对。
Spring 邮件发送功能实现 在实现邮件发送功能时,需要添加相关的Maven依赖,包括spring-context-support和javax.mail。其中,spring-context-support提供了Spring框架的核心功能,而javax.mail提供了邮件发送的基本...
总结来说,Spring框架为Java应用程序提供了强大且灵活的邮件发送功能,无论是简单的文本邮件还是复杂的HTML邮件,甚至是包含附件和内嵌资源的邮件,都能通过其高级抽象层轻松实现。同时,配合模板引擎,可以有效地...
总的来说,这个示例展示了一个基于Spring框架和JavaMail API的邮件发送系统,包括如何配置邮件服务器、创建邮件对象、处理附件以及异步发送邮件。这个系统可以轻松地集成到任何Spring应用程序中,提供灵活且可靠的...
在Spring Boot框架中,整合JavaMailSender接口可以方便地实现邮件发送功能。Spring Boot通过自动配置简化了这个过程,使得开发者无需过多关注底层配置,只需少量代码就能完成邮件的发送。下面将详细介绍如何在Spring...
本实例将详细讲解如何在这三个框架基础上实现一个邮件发送功能,同时支持附件上传。对于Java开发者来说,理解和掌握这个集成过程将有助于提升在实际项目中的应用能力。 首先,Struts2作为MVC框架,主要负责控制层的...
- **测试**:在正式环境中部署之前,务必进行充分的测试,以验证邮件发送功能的可靠性。 综上所述,虽然JavaMail本身具备强大的邮件处理能力,但在实际应用中往往会因为其API的复杂性而变得难以使用。Spring通过对...
创建好 Message 对象后, 只需要使用邮件发送API 得到 Transport 对象, 然后把 Message 对象传递给 Transport 对象, 并调用它的发送方法, 就可以把邮件发送给指定的邮件服务器。 (3)、Store 类 javax.mail....