package net.bolue.mail;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
public class SpringMailSender {
// Spring的邮件工具类,实现了MailSender和JavaMailSender接口
private JavaMailSenderImpl mailSender;
public SpringMailSender() {
// 初始化JavaMailSenderImpl,当然推荐在spring配置文件中配置,这里是为了简单
mailSender = new JavaMailSenderImpl();
// 设置参数
mailSender.setHost("smtp.qq.com");
mailSender.setUsername("mosaic@qq.com");
mailSender.setPassword("asterisks");
}
/**
* 带附件的邮件发送
*
* @throws MessagingException
*/
public void attachedSend() throws MessagingException {
//使用JavaMail的MimeMessage,支付更加复杂的邮件格式和内容
MimeMessage msg = mailSender.createMimeMessage();
//创建MimeMessageHelper对象,处理MimeMessage的辅助类
MimeMessageHelper helper = new MimeMessageHelper(msg, true);
//使用辅助类MimeMessage设定参数
helper.setFrom(mailSender.getUsername());
helper.setTo("mosaic@126.com");
helper.setSubject("Hello Attachment");
helper.setText("This is a mail with attachment");
//加载文件资源,作为附件
ClassPathResource file = new ClassPathResource("Chrysanthemum.jpg");
//加入附件
helper.addAttachment("attachment.jpg", file);
//发送邮件
mailSender.send(msg);
}
/**发送富文本邮件
* @throws MessagingException
*/
public void richContentSend() throws MessagingException {
MimeMessage msg = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(msg, true);
helper.setFrom(mailSender.getUsername());
helper.setTo("mosaic@126.com");
helper.setSubject("Rich content mail");
//第二个参数true,表示text的内容为html,然后注意<img/>标签,src='cid:file','cid'是contentId的缩写,'file'是一个标记,需要在后面的代码中调用MimeMessageHelper的addInline方法替代成文件
helper.setText(
"<body><p>Hello Html Email</p><img src='cid:file'/></body>",
true);
FileSystemResource file = new FileSystemResource(
"C:\\Users\\Public\\Pictures\\Sample Pictures\\Chrysanthemum.jpg");
helper.addInline("file", file);
mailSender.send(msg);
}
/*
public SpringMailSender(String className) {
// Velocity的参数,通过VelocityEngineFactoryBean创建VelocityEngine,也是推荐在配置文件中配置的
Properties props = System.getProperties();
props.put("resource.loader", "class");
props
.put("class.resource.loader.class",
"org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
VelocityEngineFactoryBean v = new VelocityEngineFactoryBean();
v.setVelocityProperties(props);
try {
velocityEngine = v.createVelocityEngine();
} catch (VelocityException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void templateSend() throws MessagingException {
// 声明Map对象,并填入用来填充模板文件的键值对
Map<String, String> model = new HashMap<String, String>();
model.put("user", "MZULE");
model.put("content", "Hello");
// Spring提供的VelocityEngineUtils将模板进行数据填充,并转换成普通的String对象
String emailText = VelocityEngineUtils.mergeTemplateIntoString(
velocityEngine, "index.vm", model);
// 和上面一样的发送邮件的工作
MimeMessage msg = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(msg, true);
helper.setFrom(mailSender.getUsername());
helper.setTo("mosaic@126.com");
helper.setSubject("Rich content mail");
helper.setText(emailText, true);
mailSender.send(msg);
}
*/
}
分享到:
相关推荐
Spring+Vue整合UEditor富文本实现图片附件上传的方法是指将UEditor富文本编辑器集成到Spring和Vue项目中,以实现图片附件上传的功能。下面将详细介绍这个方法的实现步骤和关键技术点。 UEditor富文本编辑器 ...
它不仅可以发送基本的文本邮件,还支持发送富文本HTML邮件以及带有文件附件的邮件。为了成功发送邮件,开发者需要合理配置邮件会话(Session)以及邮件发送器(Transport),并且处理可能出现的异常情况。JavaMail的...
利用Spring Boot框架和JavaMailSender接口,可以快速搭建一个简单高效的邮件发送系统。Spring Boot本身就是一个为简化Spring应用的初始搭建以及开发过程而设计的框架,它提供了一种新的编程范式,通过约定优于配置的...
总之,SpringMail 为 Spring 应用程序提供了简单、灵活的邮件发送功能,无论是简单的文本邮件还是复杂的富媒体邮件,都能轻松应对。通过合理的配置和编程,可以将邮件服务无缝集成到您的项目中。在实际开发中,根据...
在Spring Boot应用中,文件上传是一项常见的功能,尤其当我们需要集成富文本编辑器时,用户可能需要上传图片、文档等附件。本篇文章将探讨如何在Spring Boot环境下实现文件上传,并结合富文本编辑器进行整合。 首先...
Spring Mail 是一个强大的Java库,用于发送电子邮件。它简化了使用JavaMail API处理邮件的复杂性,使得在Spring框架中发送邮件变得更加便捷。本篇将详细介绍如何利用Spring Mail结合QQ邮箱服务器来发送邮件。 首先...
在Spring Boot中,Thymeleaf模板引擎常用于构建动态的HTML内容,而结合Spring Boot的邮件发送功能,我们可以创建富文本的电子邮件。本教程将详细介绍如何在Spring Boot应用程序中利用Thymeleaf发送电子邮件。 首先...
此系统包含了多种功能,如后台分页、富文本编辑器、附件上传以及文件上传等,以满足用户在处理日常邮件时的需求。通过这个系统,用户能够更方便地组织、搜索和管理他们的邮件。 首先,SpringMVC是Spring框架的一...
在本项目"springbootMail.rar"中,我们将探讨如何利用Spring Boot集成邮件服务,特别是通过Maven构建项目并使用注解来配置和发送邮件,包括邮件内容和附件。 首先,我们需要在项目中引入Spring Boot的Mail依赖。在`...
1. 创建`Email`对象,并设置必要的属性,如发件人、收件人、主题和邮件内容。 2. 添加附件,如果有的话。 3. 配置SMTP服务器信息,包括主机名、端口、用户名和密码。 4. 调用`send()`方法发送邮件。 示例代码如下:...
在Web开发中,使用富文本编辑器(例如FCKeditor)可以极大地提升用户体验,因为它允许用户在网页上直接进行所见即所得的文本编辑。FCKeditor是一款流行的开源在线文本编辑器,支持多种编程语言集成,包括PHP、...
此外,该系统还集成了富文本编辑器,这通常是用于管理商品描述或新闻内容,让用户能够方便地添加格式化的文本、图片和链接。附件上传功能可能包括商品图片、文档或其他相关资源的上传,增强用户体验。文件上传则可能...
2. 邮件服务:集成邮件发送功能,支持文本、HTML、附件等多种格式。 3. 文件上传:支持多种文件上传,如图片、文档等,可自定义存储路径和策略。 总结,renren-fast 3.0开发文档详尽地介绍了该框架的各个组成部分及...
本文将深入探讨如何在Grails项目中集成KindEditor,一个强大的在线富文本编辑器,支持附件上传功能。 KindEditor是一款轻量级、高性能的富文本编辑器,提供多种皮肤和插件,广泛应用于博客、论坛、CMS等系统中。它...
这一部分可能需要用到富文本编辑器,并且要保证数据的完整性与一致性。 4. 合同审批流程:设置多级审批流,确保合同在签订前经过必要的审核。可以利用SpringBoot集成工作流引擎(如Activiti或Flowable)来实现灵活...
**UEditor:百度开源的...总的来说,UEditor是一款功能强大、易于集成的富文本编辑器,广泛应用于新闻编辑、博客写作、论坛发帖等多种场景。其丰富的API和可定制性使得开发者能够轻松构建满足特定需求的文本编辑功能。
【JAVA】UEditor使用示例工程是一个专门为Java开发者提供的教程,它展示了如何在Java环境中集成并使用UEditor,一个流行的富文本编辑器。UEditor是一款功能丰富的在线编辑器,广泛应用于网页内容编辑,它提供了诸如...
根据提供的文件信息,...ssm师生交流平台是一个集成了富文本编辑器、地图功能、搜索功能以及附件上传等模块的Web应用。这些功能为师生之间提供了便捷的信息交互和资源分享机制,极大地增强了平台的互动性和用户体验。
它包含后台分页功能、富文本编辑器、附件和文件上传以及时间选择器等实用功能,并确保能够正常运行。项目还附带了详细的导入视频教程,方便用户理解和部署。 【知识点详解】: 1. **SpringMVC框架**:SpringMVC是...
系统包含了丰富的功能,如后台数据分页、富文本编辑器、附件与文件上传以及时间选择器等,确保用户能够方便快捷地操作和获取信息。下面将对这些关键知识点进行深入解析。 首先,SpringMVC是Spring框架的一个模块,...