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富文本编辑器 ...
总之,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()`方法发送邮件。 示例代码如下:...
此外,该系统还集成了富文本编辑器,这通常是用于管理商品描述或新闻内容,让用户能够方便地添加格式化的文本、图片和链接。附件上传功能可能包括商品图片、文档或其他相关资源的上传,增强用户体验。文件上传则可能...
2. 邮件服务:集成邮件发送功能,支持文本、HTML、附件等多种格式。 3. 文件上传:支持多种文件上传,如图片、文档等,可自定义存储路径和策略。 总结,renren-fast 3.0开发文档详尽地介绍了该框架的各个组成部分及...
本文将深入探讨如何在Grails项目中集成KindEditor,一个强大的在线富文本编辑器,支持附件上传功能。 KindEditor是一款轻量级、高性能的富文本编辑器,提供多种皮肤和插件,广泛应用于博客、论坛、CMS等系统中。它...
这一部分可能需要用到富文本编辑器,并且要保证数据的完整性与一致性。 4. 合同审批流程:设置多级审批流,确保合同在签订前经过必要的审核。可以利用SpringBoot集成工作流引擎(如Activiti或Flowable)来实现灵活...
**UEditor:百度开源的...总的来说,UEditor是一款功能强大、易于集成的富文本编辑器,广泛应用于新闻编辑、博客写作、论坛发帖等多种场景。其丰富的API和可定制性使得开发者能够轻松构建满足特定需求的文本编辑功能。
【JAVA】UEditor使用示例工程是一个专门为Java开发者提供的教程,它展示了如何在Java环境中集成并使用UEditor,一个流行的富文本编辑器。UEditor是一款功能丰富的在线编辑器,广泛应用于网页内容编辑,它提供了诸如...
它包含后台分页功能、富文本编辑器、附件和文件上传以及时间选择器等实用功能,并确保能够正常运行。项目还附带了详细的导入视频教程,方便用户理解和部署。 【知识点详解】: 1. **SpringMVC框架**:SpringMVC是...
系统包含了丰富的功能,如后台数据分页、富文本编辑器、附件与文件上传以及时间选择器等,确保用户能够方便快捷地操作和获取信息。下面将对这些关键知识点进行深入解析。 首先,SpringMVC是Spring框架的一个模块,...
简历投递模块会包含用户创建、编辑和提交简历的过程,可能使用富文本编辑器来支持格式化输入,同时需要处理附件上传(如PDF、Word文档),并将其与用户账户关联。 搜索匹配功能是人才网站的核心竞争力,可能利用...
通过集成ckEditor,项目为用户提供了一个富文本编辑器,使得他们可以方便地格式化文本、插入图片、链接和其他多媒体内容。同时,JQuery的使用提高了前端页面的用户体验,例如通过AJAX实现无刷新加载和交互,增强了...
这个网站提供了丰富的功能,如后台管理、数据分页、富文本编辑、附件与文件上传以及时间选择器等。接下来,我们将详细探讨这些关键知识点。 **SpringMVC框架** SpringMVC是Spring框架的一部分,它是一个模型-视图-...