`

Spring邮件服务(java邮件)

阅读更多
1、发送邮件配置文件springmail_config.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd"
>
   <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host" value="smtp.qq.com" />
        <property name="port" value="25" />
        <property name="username" value="xxxx@qq.com" />
        <property name="password" value="xxxxxxx" />
        <property name="javaMailProperties">
          <props>
           <prop key="mail.smtp.auth">true</prop>
            <!-- 根据情况可进行设置 
            <prop key="mail.smtp.timeout">2500</prop>
           -->
                     </props> 
               </property> 
     </bean> 
</beans>
2、发送邮件java类
package com.yihongyu.exec.javamail;

import java.io.File;

import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility;

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

/**
 * SpringMail测试类
 * 
 * @author tzz
 * 
 */
public class SpringMailUtil {
	private ApplicationContext context = null;

	public SpringMailUtil() {
		context = new ClassPathXmlApplicationContext("classpath:META-INF/spring/springmail_config.xml");
	}

	// 简单邮件
	public void simpleSend() {
		JavaMailSender mailSender = (JavaMailSender) context.getBean("mailSender");
		SimpleMailMessage mail = new SimpleMailMessage();
		mail.setFrom("xxx@qq.com");
		mail.setTo("xxx@qq.com");
		mail.setSubject(" 测试spring Mail");
		mail.setText("你好,java");
		mailSender.send(mail);
	}

	// 带附件
	public void attachmentSend() {
		JavaMailSender mailSender = (JavaMailSender) context.getBean("mailSender");

		MimeMessage mime = mailSender.createMimeMessage();
		MimeMessageHelper helper;
		try {

			helper = new MimeMessageHelper(mime, true, "utf-8");
			helper.setFrom("xxx@qq.com");
			helper.setTo("xxx@qq.com");
			helper.setSubject("测试spring Mail附件");
			// 需要将附件显示在html中
			helper.setText("你好,java", true);
			FileSystemResource attachment = new FileSystemResource(new File("E:\\Test2.doc"));
			helper.addAttachment(MimeUtility.encodeWord("测试.doc"), attachment);// 解决附件中文编码问题

			mailSender.send(mime);

		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	// 多附件
	public void moreAttachmentSend() {
		JavaMailSender mailSender = (JavaMailSender) context.getBean("mailSender");

		MimeMessage mime = mailSender.createMimeMessage();
		MimeMessageHelper helper;
		try {

			helper = new MimeMessageHelper(mime, true, "utf-8");
			helper.setFrom("xxxx@qq.com");
			helper.setTo("xxx@qq.com");
			helper.setSubject("测试spring Mail附件");
			// 需要将附件显示在html中
			helper.setText("你好,java", true);
			FileSystemResource attachment = new FileSystemResource(new File("E:\\zqt.sql"));
			helper.addAttachment("zqt.sql", attachment);
			FileSystemResource attachment2 = new FileSystemResource(new File("E:\\Test2.doc"));
			helper.addAttachment(MimeUtility.encodeWord("测试.doc"), attachment2);// 解决附件中文编码问题

			mailSender.send(mime);

		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	// 抄送
	public void copySend() {
		JavaMailSender mailSender = (JavaMailSender) context.getBean("mailSender");

		MimeMessage mime = mailSender.createMimeMessage();
		MimeMessageHelper helper;
		try {

			helper = new MimeMessageHelper(mime, true, "utf-8");
			helper.setFrom("xxxxx@qq.com");
			helper.setTo("xxxx@qq.com");
			helper.setCc("xxxx@qq.com");
			helper.setSubject("测试spring Mail附件");
			// 需要将附件显示在html中
			helper.setText("你好,java", true);
			FileSystemResource attachment = new FileSystemResource(new File("E:\\zqt.sql"));
			helper.addAttachment("zqt.sql", attachment);
			FileSystemResource attachment2 = new FileSystemResource(new File("E:\\Test2.doc"));
			helper.addAttachment(MimeUtility.encodeWord("测试.doc"), attachment2);// 解决附件中文编码问题

			mailSender.send(mime);

		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	// 多附件、多人发送/抄送
	public void moreUserSend() {
		JavaMailSender mailSender = (JavaMailSender) context.getBean("mailSender");

		MimeMessage mime = mailSender.createMimeMessage();
		MimeMessageHelper helper;
		try {

			helper = new MimeMessageHelper(mime, true, "utf-8");
			helper.setFrom("xxxxx@qq.com");
			helper.setTo("xxxxx@qq.com");// 发送
			// helper.setCc("xxxxxx@qq.com");//抄送
			// helper.setTo(new InternetAddress[] { new InternetAddress("xxxxx@qq.com"),
			// new InternetAddress("xxxx@qq.com") });
			helper.setCc(new InternetAddress[] { new InternetAddress("xxxxxx@qq.com"),
					new InternetAddress("xxxxxx@qq.com") });
			helper.setSubject("测试spring Mail附件");
			// 需要将附件显示在html中
			helper.setText("你好,java", true);
			FileSystemResource attachment = new FileSystemResource(new File("E:\\zqt.sql"));
			helper.addAttachment("zqt.sql", attachment);
			FileSystemResource attachment2 = new FileSystemResource(new File("E:\\Test2.doc"));
			helper.addAttachment(MimeUtility.encodeWord("测试.doc"), attachment2);// 解决附件中文编码问题

			mailSender.send(mime);

		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	public static void main(String[] args) {
		SpringMailUtil springMailUtil = new SpringMailUtil();
		// 简单邮件
		// springMailUtil.simpleSend();
		// 附件
		// springMailUtil.attachmentSend();
		// 多附件
		// springMailUtil.moreAttachmentSend();
		// 抄送
		// springMailUtil.copySend();
		// 多附件、多人发送/抄送
		springMailUtil.moreUserSend();
		System.out.println("发送成功");

	}
}

 

分享到:
评论

相关推荐

    spring邮件服务(java邮件发送)

    本教程将深入探讨如何利用Spring框架的邮件服务模块来实现Java邮件发送功能,包括发送多附件、多人发送、抄送和暗送。 首先,`SpringMailUtil.java`这个文件很可能是邮件服务的核心工具类,它封装了邮件发送的相关...

    Spring邮件发送服务(java邮件发送)

    SpringMail使得在应用程序中集成邮件服务变得更加简单,它支持多种功能,包括发送带有多个附件、多接收者(包括抄送和暗送)的邮件。下面将详细阐述Spring邮件发送服务的核心概念和技术细节。 首先,我们需要配置...

    spring集成邮件服务

    总的来说,Spring集成邮件服务使得在Java应用中发送邮件变得简单且灵活。通过合理的配置和编程,你可以实现各种复杂的邮件需求,比如触发式邮件、批量邮件、包含动态内容的邮件等。这个过程涉及的技术和概念对于任何...

    java 发送邮件 spring发送邮件Mail

    `java邮件系统`和`java邮件收发`则涉及到更广泛的邮件处理概念,包括不仅限于发送,还可能包括接收和解析邮件。 综上所述,Java结合Spring框架发送邮件是一个实用且功能强大的解决方案,通过合理的配置和编程,可以...

    java发送邮件 spring发送邮件

    Java发送邮件是软件开发中常见的功能,Spring框架提供了一种优雅的方式来实现这一需求。Spring框架以其模块化和灵活性而著名,它包含了一个名为`JavaMailSender`的接口,专门用于处理电子邮件的发送。在这个场景中,...

    SendMail_java.rar_java call_java 邮件_spring 邮件_spring邮件_邮件

    在Java编程语言中,发送邮件是一项常见的任务,尤其在企业级应用中,Spring框架提供了强大的支持。本示例是关于如何使用Java调用Spring框架来实现邮件发送功能的一个实例。让我们详细探讨一下这个主题。 首先,`...

    基于java spring邮件群发的demo

    在这个"基于Java Spring邮件群发的demo"中,我们将探讨如何利用Spring框架的邮件服务模块实现高效的邮件群发功能。同时,这个项目还涉及到了MySQL数据库和MyBatis持久层框架,这三者共同构成了一个完整的数据驱动的...

    Java开源邮件服务器james源码

    总的来说,Apache James是一个功能全面且高度可定制的Java邮件服务器,其源代码对于Java开发者来说是一份宝贵的教育资源,有助于理解邮件服务器的工作原理,同时为构建自己的邮件系统或扩展已有功能提供了可能。...

    spring JavaMailSenderImpl 发送邮件 java

    其中,Spring的JavaMailSenderImpl是用于发送电子邮件的一个重要工具,它使得开发者能够方便地集成邮件服务到他们的应用中。下面将详细介绍这个知识点。 **1. Spring的JavaMailSender接口与JavaMailSenderImpl实现*...

    Spring进阶—如何用Java代码实现邮件发送

    【Spring进阶—如何用Java代码实现邮件发送】 在现代软件开发中,特别是在企业级应用中,邮件发送是一项常见的功能,比如在进销存系统中发送库存预警通知,或者在招聘网站上验证用户注册时的电子邮件地址。这些场景...

    编程语言+JAVAspring+邮件服务+邮件发送

    编程语言+JAVAspring+邮件服务+邮件发送**:这是一个关于JAVAspring编程语言的邮件服务的邮件发送的资源,适合有一定JAVAspring基础的开发者。它介绍了JAVAspring的邮件服务的概念、原理和作用,以及如何使用JAVA...

    java spring框架 无敌邮件发送

    Spring框架通过其MailSender接口和JavaMailSenderImpl实现了邮件服务,使得在Java应用中发送邮件变得简单。 首先,为了在Spring应用中启用邮件服务,我们需要在配置类中添加对应的bean。这通常涉及到创建一个`...

    spring中邮件及定时任务

    在Spring框架中,邮件服务和定时任务是两个非常重要的功能扩展。邮件服务允许开发者向用户发送电子邮件,而定时任务则可以实现程序的自动化执行,如数据同步、报表生成等。以下将详细介绍这两个方面。 首先,我们来...

    Spring邮件发送源码

    首先,让我们来了解如何配置Spring邮件服务。在Spring的配置文件(如`applicationContext.xml`)中,我们需要定义一个`JavaMailSender` bean。这个bean通常会包含SMTP服务器的信息,如主机名、端口号、用户名和密码...

    spring各种邮件发送

    最后,`JavaMailSender`接口和相关的邮件服务支持使得Spring成为开发中实现邮件功能的强大工具。结合源码阅读和实际应用,开发者可以更深入地理解和掌握Spring框架的邮件发送功能,提升工作效率。对于那些需要发送...

    Spring邮件发送

    总结起来,Spring邮件发送功能通过`JavaMailSender`接口提供了灵活且强大的邮件服务集成。开发者可以根据需求配置SMTP服务器信息,创建邮件并发送,甚至处理复杂格式的邮件,如HTML邮件和带附件的邮件。这使得在Java...

    Java开发的邮件代理服务器

    6. 并发处理:由于邮件服务可能面临大量并发请求,Java的多线程模型和并发库(如ExecutorService和ConcurrentHashMap)能够帮助有效地处理这些请求,提高系统的响应速度和稳定性。 7. 用户界面:虽然题目未明确指出...

    maven3搭建的spring邮件项目

    3. Java邮件API(JavaMail): - JavaMail API是Java平台上的标准API,用于处理邮件服务。 - 它包括了发送、接收邮件,以及管理邮箱的功能。 - JavaMail与JSR 919(JavaBeans Activation Framework, JAF)一起...

    java发送邮件(两种方式-springcloud方式+静态调用方式).zip

    这样,通过Spring Cloud的服务注册与发现,其他微服务可以通过Feign客户端或者Ribbon客户端来调用这个邮件服务。 **二、静态调用JavaMail API发送邮件** JavaMail API是Java平台上的邮件处理库,可以直接用来发送...

Global site tag (gtag.js) - Google Analytics