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邮件发送功能,包括发送多附件、多人发送、抄送和暗送。 首先,`SpringMailUtil.java`这个文件很可能是邮件服务的核心工具类,它封装了邮件发送的相关...
SpringMail使得在应用程序中集成邮件服务变得更加简单,它支持多种功能,包括发送带有多个附件、多接收者(包括抄送和暗送)的邮件。下面将详细阐述Spring邮件发送服务的核心概念和技术细节。 首先,我们需要配置...
总的来说,Spring集成邮件服务使得在Java应用中发送邮件变得简单且灵活。通过合理的配置和编程,你可以实现各种复杂的邮件需求,比如触发式邮件、批量邮件、包含动态内容的邮件等。这个过程涉及的技术和概念对于任何...
`java邮件系统`和`java邮件收发`则涉及到更广泛的邮件处理概念,包括不仅限于发送,还可能包括接收和解析邮件。 综上所述,Java结合Spring框架发送邮件是一个实用且功能强大的解决方案,通过合理的配置和编程,可以...
Java发送邮件是软件开发中常见的功能,Spring框架提供了一种优雅的方式来实现这一需求。Spring框架以其模块化和灵活性而著名,它包含了一个名为`JavaMailSender`的接口,专门用于处理电子邮件的发送。在这个场景中,...
总的来说,Apache James是一个功能全面且高度可定制的Java邮件服务器,其源代码对于Java开发者来说是一份宝贵的教育资源,有助于理解邮件服务器的工作原理,同时为构建自己的邮件系统或扩展已有功能提供了可能。...
在Java编程语言中,发送邮件是一项常见的任务,尤其在企业级应用中,Spring框架提供了强大的支持。本示例是关于如何使用Java调用Spring框架来实现邮件发送功能的一个实例。让我们详细探讨一下这个主题。 首先,`...
在这个"基于Java Spring邮件群发的demo"中,我们将探讨如何利用Spring框架的邮件服务模块实现高效的邮件群发功能。同时,这个项目还涉及到了MySQL数据库和MyBatis持久层框架,这三者共同构成了一个完整的数据驱动的...
其中,Spring的JavaMailSenderImpl是用于发送电子邮件的一个重要工具,它使得开发者能够方便地集成邮件服务到他们的应用中。下面将详细介绍这个知识点。 **1. Spring的JavaMailSender接口与JavaMailSenderImpl实现*...
【Spring进阶—如何用Java代码实现邮件发送】 在现代软件开发中,特别是在企业级应用中,邮件发送是一项常见的功能,比如在进销存系统中发送库存预警通知,或者在招聘网站上验证用户注册时的电子邮件地址。这些场景...
编程语言+JAVAspring+邮件服务+邮件发送**:这是一个关于JAVAspring编程语言的邮件服务的邮件发送的资源,适合有一定JAVAspring基础的开发者。它介绍了JAVAspring的邮件服务的概念、原理和作用,以及如何使用JAVA...
Spring框架通过其MailSender接口和JavaMailSenderImpl实现了邮件服务,使得在Java应用中发送邮件变得简单。 首先,为了在Spring应用中启用邮件服务,我们需要在配置类中添加对应的bean。这通常涉及到创建一个`...
在Spring框架中,邮件服务和定时任务是两个非常重要的功能扩展。邮件服务允许开发者向用户发送电子邮件,而定时任务则可以实现程序的自动化执行,如数据同步、报表生成等。以下将详细介绍这两个方面。 首先,我们来...
首先,让我们来了解如何配置Spring邮件服务。在Spring的配置文件(如`applicationContext.xml`)中,我们需要定义一个`JavaMailSender` bean。这个bean通常会包含SMTP服务器的信息,如主机名、端口号、用户名和密码...
最后,`JavaMailSender`接口和相关的邮件服务支持使得Spring成为开发中实现邮件功能的强大工具。结合源码阅读和实际应用,开发者可以更深入地理解和掌握Spring框架的邮件发送功能,提升工作效率。对于那些需要发送...
总结起来,Spring邮件发送功能通过`JavaMailSender`接口提供了灵活且强大的邮件服务集成。开发者可以根据需求配置SMTP服务器信息,创建邮件并发送,甚至处理复杂格式的邮件,如HTML邮件和带附件的邮件。这使得在Java...
6. 并发处理:由于邮件服务可能面临大量并发请求,Java的多线程模型和并发库(如ExecutorService和ConcurrentHashMap)能够帮助有效地处理这些请求,提高系统的响应速度和稳定性。 7. 用户界面:虽然题目未明确指出...
3. Java邮件API(JavaMail): - JavaMail API是Java平台上的标准API,用于处理邮件服务。 - 它包括了发送、接收邮件,以及管理邮箱的功能。 - JavaMail与JSR 919(JavaBeans Activation Framework, JAF)一起...
这样,通过Spring Cloud的服务注册与发现,其他微服务可以通过Feign客户端或者Ribbon客户端来调用这个邮件服务。 **二、静态调用JavaMail API发送邮件** JavaMail API是Java平台上的邮件处理库,可以直接用来发送...