`

spring集成的邮件发送,可发送附件和富文本

阅读更多
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富文本实现图片附件上传的方法

    Spring+Vue整合UEditor富文本实现图片附件上传的方法是指将UEditor富文本编辑器集成到Spring和Vue项目中,以实现图片附件上传的功能。下面将详细介绍这个方法的实现步骤和关键技术点。 UEditor富文本编辑器 ...

    springmail架包

    总之,SpringMail 为 Spring 应用程序提供了简单、灵活的邮件发送功能,无论是简单的文本邮件还是复杂的富媒体邮件,都能轻松应对。通过合理的配置和编程,可以将邮件服务无缝集成到您的项目中。在实际开发中,根据...

    springboot文件上传整合富文本编辑器(不完整)

    在Spring Boot应用中,文件上传是一项常见的功能,尤其当我们需要集成富文本编辑器时,用户可能需要上传图片、文档等附件。本篇文章将探讨如何在Spring Boot环境下实现文件上传,并结合富文本编辑器进行整合。 首先...

    spring mail借助qq邮箱服务器发送邮件

    Spring Mail 是一个强大的Java库,用于发送电子邮件。它简化了使用JavaMail API处理邮件的复杂性,使得在Spring框架中发送邮件变得更加便捷。本篇将详细介绍如何利用Spring Mail结合QQ邮箱服务器来发送邮件。 首先...

    Spring Boot利用Thymeleaf发送Email的方法教程

    在Spring Boot中,Thymeleaf模板引擎常用于构建动态的HTML内容,而结合Spring Boot的邮件发送功能,我们可以创建富文本的电子邮件。本教程将详细介绍如何在Spring Boot应用程序中利用Thymeleaf发送电子邮件。 首先...

    个人邮件处理系统

    此系统包含了多种功能,如后台分页、富文本编辑器、附件上传以及文件上传等,以满足用户在处理日常邮件时的需求。通过这个系统,用户能够更方便地组织、搜索和管理他们的邮件。 首先,SpringMVC是Spring框架的一...

    springbootMail.rar

    在本项目"springbootMail.rar"中,我们将探讨如何利用Spring Boot集成邮件服务,特别是通过Maven构建项目并使用注解来配置和发送邮件,包括邮件内容和附件。 首先,我们需要在项目中引入Spring Boot的Mail依赖。在`...

    commons-email-jar

    1. 创建`Email`对象,并设置必要的属性,如发件人、收件人、主题和邮件内容。 2. 添加附件,如果有的话。 3. 配置SMTP服务器信息,包括主机名、端口、用户名和密码。 4. 调用`send()`方法发送邮件。 示例代码如下:...

    B2C的电子商务系统(J2EE),springmvc,mysql

    此外,该系统还集成了富文本编辑器,这通常是用于管理商品描述或新闻内容,让用户能够方便地添加格式化的文本、图片和链接。附件上传功能可能包括商品图片、文档或其他相关资源的上传,增强用户体验。文件上传则可能...

    开源快速开发平台renren-fast 3.0项目的 最新完整版的开发文档,解压后为PDF格式

    2. 邮件服务:集成邮件发送功能,支持文本、HTML、附件等多种格式。 3. 文件上传:支持多种文件上传,如图片、文档等,可自定义存储路径和策略。 总结,renren-fast 3.0开发文档详尽地介绍了该框架的各个组成部分及...

    Grails使用kindeditor,支持附件

    本文将深入探讨如何在Grails项目中集成KindEditor,一个强大的在线富文本编辑器,支持附件上传功能。 KindEditor是一款轻量级、高性能的富文本编辑器,提供多种皮肤和插件,广泛应用于博客、论坛、CMS等系统中。它...

    基于springboot框架的企业合同管理系统设计与实现.zip

    这一部分可能需要用到富文本编辑器,并且要保证数据的完整性与一致性。 4. 合同审批流程:设置多级审批流,确保合同在签订前经过必要的审核。可以利用SpringBoot集成工作流引擎(如Activiti或Flowable)来实现灵活...

    ueditor文本编辑器的配置环境

    **UEditor:百度开源的...总的来说,UEditor是一款功能强大、易于集成的富文本编辑器,广泛应用于新闻编辑、博客写作、论坛发帖等多种场景。其丰富的API和可定制性使得开发者能够轻松构建满足特定需求的文本编辑功能。

    【JAVA】UEditor使用示例工程.rar

    【JAVA】UEditor使用示例工程是一个专门为Java开发者提供的教程,它展示了如何在Java环境中集成并使用UEditor,一个流行的富文本编辑器。UEditor是一款功能丰富的在线编辑器,广泛应用于网页内容编辑,它提供了诸如...

    上网导航网站

    它包含后台分页功能、富文本编辑器、附件和文件上传以及时间选择器等实用功能,并确保能够正常运行。项目还附带了详细的导入视频教程,方便用户理解和部署。 【知识点详解】: 1. **SpringMVC框架**:SpringMVC是...

    个人财务管理系统

    系统包含了丰富的功能,如后台数据分页、富文本编辑器、附件与文件上传以及时间选择器等,确保用户能够方便快捷地操作和获取信息。下面将对这些关键知识点进行深入解析。 首先,SpringMVC是Spring框架的一个模块,...

    嘉缘人才网站管理系统.7z

    简历投递模块会包含用户创建、编辑和提交简历的过程,可能使用富文本编辑器来支持格式化输入,同时需要处理附件上传(如PDF、Word文档),并将其与用户账户关联。 搜索匹配功能是人才网站的核心竞争力,可能利用...

    基于S2SH的校园博客系统

    通过集成ckEditor,项目为用户提供了一个富文本编辑器,使得他们可以方便地格式化文本、插入图片、链接和其他多媒体内容。同时,JQuery的使用提高了前端页面的用户体验,例如通过AJAX实现无刷新加载和交互,增强了...

    班级风采网站的设计

    这个网站提供了丰富的功能,如后台管理、数据分页、富文本编辑、附件与文件上传以及时间选择器等。接下来,我们将详细探讨这些关键知识点。 **SpringMVC框架** SpringMVC是Spring框架的一部分,它是一个模型-视图-...

Global site tag (gtag.js) - Google Analytics