- 浏览: 227386 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
wsj0051:
很好,一致纠结图片路径问题
Spring 发送普通邮件、夹带附件的邮件、嵌入网页或图片的邮件 使用方法 -
ejinxian:
值得学习,
ExtJS+FusionCharts(转) -
niewj:
不知道都是哪里来的。
111
在项目应用中,时常存在发送邮件的业务需求。比如:用户注册时的邮件确认;系统出错时的邮件提醒;用户系统邮件订阅;系统的广告邮件定时推广等等。本文根据spring开发文档,列举普通文件邮件,夹带附件的邮件、嵌入图片的邮件三种形式的邮件的使用方式。
实现过程中定义BaseMailDefined类,用于描述邮件发送过程中需要的参数:发送者、接受者、邮件标题、邮件文本内容。
定义MailSenderFactory类,用于对普通文件邮件,夹带附件的邮件、嵌入图片的邮件三种形式的邮件的发送。其中JavaMailSender 采用spring注入的其实现类org.springframework.mail.javamail.JavaMailSenderImpl。
实现过程中定义BaseMailDefined类,用于描述邮件发送过程中需要的参数:发送者、接受者、邮件标题、邮件文本内容。
定义MailSenderFactory类,用于对普通文件邮件,夹带附件的邮件、嵌入图片的邮件三种形式的邮件的发送。其中JavaMailSender 采用spring注入的其实现类org.springframework.mail.javamail.JavaMailSenderImpl。
public class MailSenderFactory { private JavaMailSender javaMailSender; public void setJavaMailSender(JavaMailSender javaMailSender) { this.javaMailSender = javaMailSender; } /** * 简单邮件发送 * @param bmd */ public void senderSimpleMail(BaseMailDefined bmd){ SimpleMailMessage msg = new SimpleMailMessage(); msg.setFrom(bmd.getFrom()); msg.setText(bmd.getText()); msg.setTo(bmd.getTo()); msg.setSubject(bmd.getSubject()); javaMailSender.send(msg); } /** * 发送添加附件的邮件 * @param bmd * @throws MessagingException */ public void senderMimeMail(BaseMailDefined bmd) throws MessagingException{ MimeMessage msg = javaMailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(msg, true); helper.setTo(bmd.getTo()); helper.setText(bmd.getText()); helper.setFrom(bmd.getFrom()); helper.setSubject(bmd.getSubject()); helper.setSentDate(new Date()); //夹带附件 FileSystemResource file = new FileSystemResource(new File("E:/task/ip2.rar")); helper.addAttachment("ip2.rar", file); javaMailSender.send(msg); } /** * 发送内嵌图片或html的邮件 * @param bmd * @throws MessagingException */ public void senderHtmlMail(BaseMailDefined bmd) throws MessagingException{ MimeMessage msg = javaMailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(msg, true); helper.setTo(bmd.getTo()); helper.setText(bmd.getText()); helper.setFrom(bmd.getFrom()); helper.setSubject(bmd.getSubject()); helper.setSentDate(new Date()); //内嵌式图片或html样式 helper.setText("<html><body><img src='cid:identifier1235'></body></html>", true); FileSystemResource res = new FileSystemResource(new File("E:/task/ip2.png")); helper.addInline("identifier1235", res); javaMailSender.send(msg); } } public class BaseMailDefined { protected String to; protected String from; protected String subject; protected String text; public String getText() { return text; } public String getTo() { return to; } public String getFrom() { return from; } public String getSubject() { return subject; } public void setText(String text) { this.text = text; } public void setTo(String to) { this.to = to; } public void setFrom(String from) { this.from = from; } public void setSubject(String subject) { this.subject = subject; } } 测试方法: public static void main(String[] args) throws Exception { ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext( new String[] { "ApplicationContext.xml" }); MailSenderFactory factory = (MailSenderFactory) ctx.getBean("mailFactory"); BaseMailDefined bmd = (BaseMailDefined) ctx.getBean("baseMail"); factory.senderSimpleMail(bmd); factory.senderMimeMail(bmd); factory.senderHtmlMail(bmd); } XML配置: <bean id="sender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host"> <value>smtp.sina.com</value> </property> <property name="username"> <value>handouName</value> </property> <property name="password"> <value>handouPassword</value> </property> <property name="javaMailProperties"> <props> <prop key="mail.smtp.auth">true</prop> </props> </property> </bean> <bean id="mailFactory" class="com.handou.mail.MailSenderFactory"> <property name="javaMailSender"> <ref bean="sender" /> </property> </bean> <bean id="baseMail" class="com.handou.mail.BaseMailDefined"> <property name="to"> <value>handouName@sina.com</value> </property> <property name="from"> <value>handouName@sina.com</value> </property> <property name="subject"> <value>test</value> </property> <property name="text"> <value>this is a test mail !!</value> </property> </bean>
发表评论
-
maven 使用jetty:run 修改js无法保存解决方案
2014-08-26 13:35 0方式1:直接在项目的WEB.xml中加入代码: < ... -
java 操作date
2014-05-06 14:03 713/** 日期类 * @date * @vers ... -
Eclipse 配置MAVEN插件
2014-01-25 09:50 7621.首先去下载Maven插件 http://maven.apa ... -
Tomcat启动过程中找不到JAVA_HOME解决方法
2014-01-23 16:42 1411在WIN 7上明明已经安装了JDK1.5并设置好了JAVA_H ... -
Java操作XML
2013-05-28 09:49 38811. 介绍 1)DOM(JAXP Crimson解 ... -
ORACLE 查看某个表的主外键关系
2013-04-26 14:55 1080SELECT USER_CONS_COLUMNS.CO ... -
Eclipse 生成hibernate配置文件
2013-03-15 13:59 1002附件的图片是hibernate生成配置文件的操作,很简单的! ... -
JSONException:java.lang.reflect.InvocationTargetException异常处理
2012-11-19 14:38 1491由于我使用Spring对项目进行重构,由Spring容器来管理 ... -
Maven项目中Pom文件备份
2012-07-11 15:55 1115<project xmlns="http: ... -
Maven创建Java工程
2012-07-11 15:46 884前提:首先在Eclipse中添加了Maven的插件。 然后, ... -
Java 日期操作 DateUtils
2012-06-04 10:46 1460Java中对日期操作 //1.获得当前日期中的月头月末时间 ... -
远程桌面连接数超过最大连接数
2012-01-13 10:37 973当出现超过最大连接数的情况的时候,远程根本都无法登陆进去,很有 ... -
Windows 下自动重启TOMCAT
2011-10-28 11:02 3968windows下自动启动Tomcat 直接在windows ... -
Spring Security-3.0.1 相关文档
2011-10-17 14:33 939http://wenku.baidu.com/view/b0c ... -
apache2.2 和Tomcat整合
2011-10-14 09:55 19441.下载Apache Http Server 2.2 ... -
apache server and tomcat
2011-09-26 13:45 0http://www.blogjava.net/obpm/ar ... -
Unable to compile class for JSP
2011-09-20 15:11 1481type Exception report messag ... -
maven 添加ojdbc14
2011-09-14 19:20 1581今天下午,我使用maven,怎么都不能下载ojdbc的jar包 ... -
SVN Working Copy xxx locked
2011-09-07 08:34 1114SVN Working Copy xxx locked 并 c ... -
Apache Http Server 设置向导
2011-07-11 10:42 24991.下载http Server 并安装 本文档描述了如何在Wi ...
相关推荐
我们封装一个 MailService 类来实现普通的邮件发送方法。 Spring Boot整合邮件发送并保存历史发送邮箱 from,即为邮件发送者; to,邮件接收者; subject,邮件主题; content,邮件的主体。 邮件发送者 from ...
本教程将详细讲解如何利用Spring Boot实现四种类型的邮件服务:发送普通文本邮件、HTML邮件、附件邮件以及嵌入图片的邮件。我们将主要依赖Spring Boot的`spring-boot-starter-mail`模块来完成这些操作。 首先,你...
本项目聚焦于使用Spring Boot来开发一个支持多附件邮件发送的微服务平台。这个平台可以方便地集成到各种业务场景中,例如发送报告、通知或者用户验证邮件。 首先,我们需要了解Spring Boot的邮件服务模块——`...
标题 "Spring 使用163发邮件带附件" 涉及到的是在Java开发中,使用Spring框架发送电子邮件,特别是包含附件的邮件。这通常在系统需要自动化通知、报告发送或者用户验证过程中非常常见。Spring提供了JavaMailSender...
关于 Spring Boot 定时任务接收邮件并且存储附件的方法讲解 Spring Boot 是一个基于 Java 的框架,它提供了许多实用的功能,包括定时任务。在 Spring Boot 中实现定时任务非常简单,只需要使用两个注解:`@...
Java发送邮件是软件开发中常见的需求,特别是在企业级应用中,用于发送通知、报表或验证用户的电子邮件地址。Spring框架提供了一种优雅的方式来处理这个任务,它整合了JavaMailSender接口和JavaMail API,使得在Java...
在这个场景中,我们将深入探讨如何使用Spring框架发送邮件,以及涉及到的相关知识点。 首先,我们需要在项目中引入Spring的核心库以及JavaMail相关的依赖。通常,Spring框架的`spring-context`模块包含了`...
下面将详细介绍如何使用Spring发送邮件。 首先,我们需要在项目中引入Spring的邮件支持。这通常通过添加`spring-context-support`依赖来完成,该依赖包含了处理邮件发送所需的类。在Maven项目中,可以在pom.xml文件...
在本项目中,我们将深入探讨如何使用SpringMail发送带有附件的电子邮件。首先,我们需要了解几个核心概念: 1. **JavaMail API**: 这是Java平台上的一个标准API,用于处理邮件相关任务,如创建、发送和接收邮件。它...
在这里,`MailService`可能会提供`sendEmail`方法,用于发送邮件,并可能包含`uploadAttachment`方法用于处理附件上传。Spring的依赖注入(DI)特性使得我们可以轻松地在Action和Service之间传递数据。 Mybatis...
在IT行业中,Spring框架是Java开发中的一个关键组件,它提供了丰富的...对于那些需要发送大量或定期邮件的应用,还可以考虑使用邮件队列服务,如Amazon SES或SendGrid,配合Spring进行集成,实现高效、可靠的邮件发送。
标题 "spring velocity 发邮件(单发,群发,图片,附件)" 涉及到的是在Java开发中使用Spring框架集成Velocity模板引擎来发送电子邮件的功能。这个话题涵盖了多个知识点,包括Spring的邮件服务、Velocity模板引擎的应用...
至此,你已经学会了如何在Spring Boot中使用邮件服务发送普通邮件和带附件的邮件,以及如何设置定时任务。请确保根据实际情况调整配置参数,并处理可能出现的异常情况。通过这些功能,你可以轻松构建出满足各种需求...
它提供了send()方法,可以用来发送简单的文本邮件或者带有附件的复杂邮件。为了实现批量邮件发送,我们需要创建一个邮件服务类,该类将利用MailSender接口,并通过适当的方式管理邮件的队列和发送过程。 批量邮件...
Spring提供了一套完整的邮件服务支持,通过其`org.springframework.mail`包,我们可以方便地实现发送各种类型的邮件,包括纯文本、HTML格式、带有附件以及嵌入图片的邮件。 首先,让我们来了解如何配置Spring邮件...
在Spring 2.0版本中,它引入了对发送邮件的支持,这使得开发者能够轻松地实现邮件服务,包括发送带有附件、图片以及HTML格式的邮件。下面将详细介绍这个功能及其相关知识点。 1. **Spring Mail支持**: - Spring...
实现这一功能,你需要在Spring配置文件中定义一个`TaskScheduler`或`ThreadPoolTaskScheduler`,然后创建一个实现了`Runnable`接口的任务类,最后在任务类中定义你的邮件发送逻辑。 接下来,我们来看Spring Mail。...
**Spring邮件发送** 在Java开发中,Spring框架提供了一种简单而强大的方式来发送电子邮件。Spring的`JavaMailSender`接口以及其实现类`SimpleMailMessage`和`MailMessage`,使得开发者能够轻松地集成邮件服务到应用...
通过上述步骤,你就可以使用Java成功发送HTML格式的邮件,并且可以附加图片或在邮件正文中嵌入图片。这在发送包含丰富格式和视觉元素的营销邮件或者通知邮件时非常有用。记得在实际项目中,根据具体需求调整代码,...