`
yxfei
  • 浏览: 4990 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

Spring实现JavaMail邮件发送功能

阅读更多

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整合JavaMail发送qq邮件

    当我们需要在Spring应用中实现邮件发送功能时,通常会整合Spring与JavaMail。下面将详细讲解如何利用Spring整合JavaMail发送QQ邮件。 首先,我们需要在项目中引入JavaMail的相关依赖。在Maven项目中,可以在pom.xml...

    springboot集成javamail实现发送邮件功能

    springboot集成javamail,实现发送邮件的功能,可以发送文本类型邮件,也可以发送html格式的邮件,其中整合了mysql、mybatis 具体集成步骤可以参考我的文章: https://www.jianshu.com/p/668d320b4981

    在spring利用javamail,quartz定时发送邮件

    ### 在Spring中结合JavaMail与Quartz实现定时邮件发送 #### 概述 在Web开发领域,自动化定时任务是常见的需求之一,例如自动发送报告、更新数据或进行系统维护等。Spring框架因其强大的功能和灵活性,成为了实现...

    javamail邮件发送项目

    【javamail邮件发送项目】是一个基于Java技术的邮件发送解决方案,主要利用Spring框架进行配置,结合FreeMarker(FTL)模板技术实现邮件内容的动态生成,并具备异步发送及批量处理邮件的能力,最多可同时处理1000份...

    SpringUseJavaMailSendEmail(spring使用javamail发送邮件的例子)

    总结起来,Spring结合JavaMail API发送邮件的过程主要包括:配置`JavaMailSender` bean,创建邮件消息对象,设置邮件内容和属性,最后通过`JavaMailSender`实例发送邮件。通过这种方式,开发者可以轻松地在Spring...

    spring实现邮件发送功能+ssm+javamil

    在本文中,我们将深入探讨如何使用Spring框架实现邮件发送功能,特别关注SSM(Spring、Spring MVC、MyBatis)和JavaMail的整合。对于初学者来说,这是一个基础且易于理解的教程,只需要遵循简单的步骤就能成功实现...

    spring+quartz+javamail定时发送邮件

    3. 定义邮件发送Job:创建一个Job类,实现`execute`方法,该方法包含了发送邮件的具体代码,如使用JavaMail API创建并发送邮件。 4. 创建Trigger:配置一个Trigger,它决定Job的执行时间,可以是简单的cron表达式...

    Spring javaMail发送文本邮件实例

    导入到Myeclipse 即可运行 测试使用的是QQ邮箱 在application.xml中配置的发送邮箱 要到邮箱中设置 POP3/SMTP服务为开。项目不部署到tomcat后启动服务,然后运行test.java 就发送了,。绝对可以发送

    spring结合javamail开发文档

    ### Spring结合JavaMail开发文档知识点...通过上述知识点的学习,开发者可以更加高效地利用Spring与JavaMail组合来实现邮件发送的功能,无论是简单的纯文本邮件还是复杂的HTML邮件甚至是带有附件的邮件都能轻松应对。

    Spring实现邮件发送功能

    Spring 邮件发送功能实现 在实现邮件发送功能时,需要添加相关的Maven依赖,包括spring-context-support和javax.mail。其中,spring-context-support提供了Spring框架的核心功能,而javax.mail提供了邮件发送的基本...

    Spring进阶—如何用Java代码实现邮件发送

    总结来说,Spring框架为Java应用程序提供了强大且灵活的邮件发送功能,无论是简单的文本邮件还是复杂的HTML邮件,甚至是包含附件和内嵌资源的邮件,都能通过其高级抽象层轻松实现。同时,配合模板引擎,可以有效地...

    spring+javamail代码示例

    总的来说,这个示例展示了一个基于Spring框架和JavaMail API的邮件发送系统,包括如何配置邮件服务器、创建邮件对象、处理附件以及异步发送邮件。这个系统可以轻松地集成到任何Spring应用程序中,提供灵活且可靠的...

    SpringBoot中整合Mail实现简单邮件发送示例代码

    在Spring Boot框架中,整合JavaMailSender接口可以方便地实现邮件发送功能。Spring Boot通过自动配置简化了这个过程,使得开发者无需过多关注底层配置,只需少量代码就能完成邮件的发送。下面将详细介绍如何在Spring...

    struts2+spring3.0+mybatis3.0.4集成的邮件发送实例(可上传附件)

    本实例将详细讲解如何在这三个框架基础上实现一个邮件发送功能,同时支持附件上传。对于Java开发者来说,理解和掌握这个集成过程将有助于提升在实际项目中的应用能力。 首先,Struts2作为MVC框架,主要负责控制层的...

    Spring 3.x企业应用开发实战 附录 A - JavaMail 发送邮件

    - **测试**:在正式环境中部署之前,务必进行充分的测试,以验证邮件发送功能的可靠性。 综上所述,虽然JavaMail本身具备强大的邮件处理能力,但在实际应用中往往会因为其API的复杂性而变得难以使用。Spring通过对...

    springboot整合JavaMail,实现异步发送邮件功能

    创建好 Message 对象后, 只需要使用邮件发送API 得到 Transport 对象, 然后把 Message 对象传递给 Transport 对象, 并调用它的发送方法, 就可以把邮件发送给指定的邮件服务器。 (3)、Store 类 javax.mail....

Global site tag (gtag.js) - Google Analytics