`

spring3发送邮件

 
阅读更多

mail.jar  spring-core.jar 

 

application-mail.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
           http://www.springframework.org/schema/aop
           http://www.springframework.org/schema/aop/spring-aop-3.2.xsd">

    <bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host" value="smtp.exmail.sina.com"></property>
        <property name="port" value="25"></property>
        <property name="username" value="*******@ssreader.cn"></property>
        <property name="password" value="******"></property>
        <property name="defaultEncoding" value="UTF-8"></property>
        <property name="javaMailProperties">
            <props>
                <prop key="mail.debug">false</prop>
                <prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
                <prop key="mail.smtp.auth">true</prop>
            </props>
        </property>
    </bean>

</beans>

 

 

SendMailBySpringMail.java

package test.email;

import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.UrlResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;

import javax.activation.URLDataSource;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Date;

public class SendMailBySpringMail {

    public static JavaMailSender javaMailSender;

    static {
        javaMailSender = (JavaMailSender) new ClassPathXmlApplicationContext("application-mail.xml").getBean("javaMailSender");
    }

    /**
     * 发送简单文本邮件
     * SimpleMailMessage
     */
    public static void sendSimpleMailMessage() {
        SimpleMailMessage mailMessage = new SimpleMailMessage();
        mailMessage.setFrom("******@ssreader.cn");//可选的
        mailMessage.setTo("lamamo@163.com");
        mailMessage.setSubject("你好啊 ******");
        mailMessage.setText("那就随便说说吧" + new Date());

        javaMailSender.send(mailMessage);
    }

    /**
     * 发送html类型邮件
     * MimeMessage
     */
    public static void sendMimeMessage() throws MessagingException {
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "utf-8");
//      可选的,可以用来修改显示给接收者的名字
        helper.setFrom("******@ssreader.cn");
        helper.setTo("lamamo@163.com");
        helper.setSubject("这就是个实验");
        helper.setText("<h1>你好</h1>", true);

        javaMailSender.send(mimeMessage);
    }

    /**
     * 发送含附件的邮件
     */
    public static void sendMimeMessageAttachment() throws MessagingException, UnsupportedEncodingException, MalformedURLException {
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        //第二个参数设置为true,表示允许添加附件
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "utf-8");
        helper.setFrom("******@ssreader.cn");
        helper.setTo("lamamo@163.com");
        helper.setSubject("发送含图片附件的邮件");
        //第二个参数为true表示需要内容为HTML格式
        helper.setText("<h1>你好</h1>", true);
        //需要对文件名进行转码
        helper.addAttachment(MimeUtility.encodeText("王.png"), new File("D:\\我的文档\\My Pictures\\logo.png"));
        helper.addAttachment(MimeUtility.encodeText("Apache网站图标.gif"), new URLDataSource(new URL("http://www.apache.org/images/asf_logo_wide.gif")));

        javaMailSender.send(mimeMessage);
    }

    /**
     * 发送HTML格式含图片的邮件
     */
    public static void sendMimeMessageInline() throws MessagingException, MalformedURLException {
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        //第二个参数设置为true,表示允许添加附件
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "utf-8");
        helper.setFrom("******@ssreader.cn");
        helper.setTo("lamamo@163.com");
        helper.setSubject("发送HTML格式含图片的邮件");
        //第二个参数为true表示需要内容为HTML格式
        helper.setText("<h1>你好</h1><br><img src='cid:fileId'><img src='cid:abc'>", true);
        helper.addInline("fileId", new File("D:\\我的文档\\My Pictures\\logo.png"));
        helper.addInline("abc", new UrlResource("http://www.apache.org/images/asf_logo_wide.gif"));

        javaMailSender.send(mimeMessage);
    }

    public static void main(String[] args) throws UnsupportedEncodingException, MessagingException, MalformedURLException {
//        sendSimpleMailMessage();
        sendMimeMessage();
//        sendMimeMessageAttachment();
//        sendMimeMessageInline();
    }
}

 

分享到:
评论

相关推荐

    Spring Boot整合邮件发送并保存历史发送邮箱

    3、Spring Boot 发送邮件(文本格式的邮件、发送HTML格式的邮件、发送带附件 的邮件、发送带静态资源的邮件) 个人觉得Springboot的开发简单的归纳为三步jar包引入,配置,应用。 (一)简单使用 1)JSP的使用...

    java 发送邮件 spring发送邮件Mail

    Spring框架提供了一种优雅的方式来处理这个任务,它整合了JavaMailSender接口和JavaMail API,使得在Java应用程序中发送邮件变得更加简单。让我们深入探讨这个主题。 首先,JavaMail API是Java用来处理邮件收发的...

    java发送邮件 spring发送邮件

    通过以上步骤,你就可以在Java应用中使用Spring发送邮件了。当然,实际的邮件发送可能更复杂,涉及HTML内容、附件、多部分消息等,可以使用`MimeMessage`和`MimeMessageHelper`类来构建复杂的邮件结构。例如,添加...

    spring发送邮件demo

    下面将详细介绍如何使用Spring发送邮件。 首先,我们需要在项目中引入Spring的邮件支持。这通常通过添加`spring-context-support`依赖来完成,该依赖包含了处理邮件发送所需的类。在Maven项目中,可以在pom.xml文件...

    Spring mvc 发送邮件功能

    在Spring MVC框架中,实现邮件发送功能通常涉及配置Spring的JavaMailSender接口和使用模板引擎如FreeMarker来创建动态邮件内容。以下是一个详细的步骤指南: 1. **依赖库**: - `javax.mail`:这是Java邮件API的...

    spring各种邮件发送

    在"spring各种邮件发送"这个主题中,我们将探讨Spring框架如何帮助开发者实现电子邮件的发送。邮件服务在许多应用场景中都十分常见,例如用户注册确认、密码重置提醒等。 首先,Spring框架提供了`JavaMailSender`...

    Spring 高效批量邮件发送

    在本话题中,我们将探讨“Spring高效批量邮件发送”这一技术点,这通常涉及到Spring框架中的邮件服务模块以及如何优化邮件发送的效率。 首先,Spring框架的MailSender接口是处理邮件发送的核心组件。它提供了send()...

    spring定时发送邮件

    这涉及到Spring的两大模块:Spring Task(Spring的定时任务模块)和Spring Mail(用于发送邮件的模块)。 首先,让我们深入了解一下Spring Task。Spring Task,也被称为Spring的调度器,提供了一种在应用中添加定时...

    spring JavaMailSenderImpl 发送邮件 java

    - **创建SimpleMailMessage对象**: SimpleMailMessage是Spring提供的一个预定义的邮件消息类,我们可以在这里设置邮件的发件人、收件人、主题和正文。 - **调用send方法发送邮件**: 使用JavaMailSenderImpl的send...

    Spring邮件发送源码

    接下来,我们将介绍如何使用Spring发送不同类型的邮件: 1. **发送纯文本邮件**: 要发送纯文本邮件,你可以创建一个`SimpleMailMessage`对象,设置发件人、收件人、主题和正文,然后调用`JavaMailSender`的`send...

    spring线程发送邮件

    本文将深入探讨"spring线程发送邮件"这一主题,结合标签"源码"和"工具",我们将从源码层面理解Spring如何实现线程异步发送邮件,并探讨相关工具的使用。 在Spring框架中,邮件服务的实现主要依赖于`javaMailSender`...

    struts spring 实现简单的邮件发送

    邮件服务类中的方法可以接收邮件的发件人、收件人、主题和内容作为参数,然后调用JavaMailSender的send方法发送邮件。 3. **Struts2整合**:在Struts2的配置文件(struts.xml)中,定义一个Action类,该类会调用...

    Spring mail发送邮件实例

    ### Spring Mail 发送邮件实例详解 #### 一、Spring Mail 概述 Spring Mail 是 Spring 框架中用于处理电子邮件发送的一个模块。它提供了一种简单的方式来进行邮件的发送,支持多种邮件发送协议,例如 SMTP 等,...

    手把手教你 ,spring定时发送邮件

    本教程将聚焦于Spring的一个实用特性——定时任务,特别是如何利用Spring集成JavaMailSender来实现定时发送邮件。我们将探讨以下知识点: 1. **Spring定时任务(Scheduled Tasks)** Spring通过`@Scheduled`注解和`...

    Spring邮件发送

    **Spring邮件发送** 在Java开发中,Spring框架提供了一种简单而强大的方式来发送电子邮件。Spring的`JavaMailSender`接口以及其实现类`SimpleMailMessage`和`MailMessage`,使得开发者能够轻松地集成邮件服务到应用...

    spring集成邮件服务

    3. **发送邮件**:通过`JavaMailSender`的`send()`方法发送邮件。你可以传入一个`SimpleMailMessage`或`MimeMessage`对象,或者一个包含多个邮件的消息列表。 在提供的文件`SpringSendMail`中,可能包含了实现上述...

    Spring2.5发送邮件程序Demo

    要使用Spring发送邮件,我们需要进行以下步骤: 1. **配置JavaMailSender**:在Spring的配置文件中,我们需要配置`JavaMailSender`的实现,例如`JavaMailSenderImpl`。配置项包括SMTP服务器地址、端口、用户名、...

    Spring mail发送邮件

    使用Spring mail发送邮件的完整实例,包含代码与Spring mail的jar,可直接运行与使用。相关学习文档参考博客《Spring Mail邮件发送 http://blog.csdn.net/chenxiang0207/article/details/8256528》。

Global site tag (gtag.js) - Google Analytics