`
chaoyi
  • 浏览: 309199 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Spring 使用163发邮件带附件

 
阅读更多

图示:

 

Mail 有附件的邮件

package cn.mail;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility;
import org.springframework.core.io.ClassPathResource;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
/**
 * 有附件的邮件
 * */
public class Mail {
	private JavaMailSender mailSender;//必须使用 JavaMailSende,是  MailSender 子接口
	public void setMailSender(JavaMailSender mailSender) {
		this.mailSender = mailSender;
	}
	//发送
	public void send(){
		//建立有附件的邮件对象
		MimeMessage mimeMessage = mailSender.createMimeMessage();
		try {
			//对象,是否多部分,编码
			MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "GBK");
			helper.setFrom("chaoyi77@163.com");
			helper.setTo("ichaoyv@163.com");
			helper.setSubject("Spring 简单邮件带附件");
			helper.setText("元旦快乐");
			//添加附件 1
			ClassPathResource file1 = new ClassPathResource("image.JPG");
			//把附件加到邮件中:附件文件名,文件对象
			helper.addAttachment(file1.getFilename(), file1.getFile());
			//添加附件 2:附近的文件名为中文时,需要对文件名进行编码转换,解决乱码问题
			ClassPathResource file2 = new ClassPathResource("文档.docx");
			//附件的文件名有汉字
			helper.addAttachment(MimeUtility.encodeWord(file2.getFilename()), file2.getFile());
			mailSender.send(mimeMessage);
			System.out.println("发送成功");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

 

applicationContext.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:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
	http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
	<!-- Spring 实现的发邮件的类 -->
	<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
		<property name="host" value="smtp.163.com" /><!-- 服务器 -->
		<property name="port" value="25" /><!-- 端口 -->
		<property name="username" value="chaoyi77@163.com" /><!-- 用户名 -->
		<property name="password" value="******" /><!-- 密码 -->
		<property name="protocol" value="smtp" /><!-- 协议 -->
		<property name="defaultEncoding" value="utf-8" /><!-- 默认编码 -->
		<property name="javaMailProperties">
			<props>
				<!-- 设置 SMT 服务器需要用户验证  -->
				<prop key="mail.smtp.auth">true</prop>
			</props>
		</property>		
	</bean>
	<!-- 简单邮件发送 -->
	<bean id="mail" class="cn.mail.Mail" p:mailSender-ref="mailSender" />
</beans>

 

Test 测试类

package cn.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import cn.mail.Mail;
public class Test {
	public static void main(String[] args) {
		ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
		/*测试简单邮件带附件*/
		Mail mail = (Mail) context.getBean("mail");
		mail.send();
	}
}

 

效果图:

 

 

  • 大小: 19 KB
  • 大小: 71 KB
分享到:
评论

相关推荐

    使用springMail发送带附件的email

    下面是一个示例代码片段,展示了如何使用SpringMail发送带附件的邮件: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mail.MailException; import org....

    spring boot定时任务接收邮件并且存储附件的方法讲解

    关于 Spring Boot 定时任务接收邮件并且存储附件的方法讲解 Spring Boot 是一个基于 Java 的框架,它提供了许多实用的功能,包括定时任务。在 Spring Boot 中实现定时任务非常简单,只需要使用两个注解:`@...

    使用Spring Boot 开发支持多附件邮件发送微服务平台代码

    本项目聚焦于使用Spring Boot来开发一个支持多附件邮件发送的微服务平台。这个平台可以方便地集成到各种业务场景中,例如发送报告、通知或者用户验证邮件。 首先,我们需要了解Spring Boot的邮件服务模块——`...

    spring velocity 发邮件(单发,群发,图片,附件)

    博文链接 "&lt;https://javastudyeye.iteye.com/blog/1396895&gt;" 提供了一个具体的应用示例,展示如何配置Spring邮件服务、创建Velocity模板、以及如何在代码中处理图片和附件,以便在实际项目中参考。 总结,"spring ...

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

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

    采用 spring 发送带 附件的邮件(完整示例,带 jar 包)

    本例为完整的采用spring 发送带 附件的邮件。 下载后需要改动的地方: 1.在mail.properties中将接收者邮箱地址(username),邮箱密码换成真实的。 2.在SpringJavaMailDemo类中把发送者和接收者邮箱地址换成真实地址...

    struts2+spring3.0+mybatis3.0.4集成的邮件发送实例(可上传附件)

    本实例将详细讲解如何在这三个框架基础上实现一个邮件发送功能,同时支持附件上传。对于Java开发者来说,理解和掌握这个集成过程将有助于提升在实际项目中的应用能力。 首先,Struts2作为MVC框架,主要负责控制层的...

    Spring编写的发邮件程序,带定时功能

    我自己从pro spring书上修改过来的发邮件程序,在配置文件... 此邮件程序还有定时功能,到你定的时刻后它就开始发邮件,发邮件还有个发送周期,即隔多少时间发送一封。 此附件中含有源代码。可以自己修改

    Spring mail 使用多个账号发送带有附件的HTML邮件

    总结,使用Spring Mail发送带有附件的HTML邮件是一项常见的任务,特别是当需要支持多个账号时,需要精心设计和配置。通过理解Spring Mail的工作原理和JavaMail API,开发者可以有效地实现代理邮件发送,并确保邮件的...

    springboot发送邮件(含带附件的邮件,定时任务等功能)

    至此,你已经学会了如何在Spring Boot中使用邮件服务发送普通邮件和带附件的邮件,以及如何设置定时任务。请确保根据实际情况调整配置参数,并处理可能出现的异常情况。通过这些功能,你可以轻松构建出满足各种需求...

    Spring邮件发送源码

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

    spring boot发送普通文本邮件/HTML邮件/附件邮件/图片邮件完整代码.zip

    在Spring Boot应用中,发送邮件是一项常见的功能,用于与用户通信、发送通知或者提供服务。本教程将详细讲解如何利用Spring Boot实现四种类型的邮件服务:发送普通文本邮件、HTML邮件、附件邮件以及嵌入图片的邮件。...

    spring集成邮件服务

    而Spring集成邮件服务则是一个常见的需求,特别是对于那些需要发送确认邮件、通知或者报告的应用来说。下面将详细阐述Spring如何与JavaMail API结合,实现邮件服务的集成。 首先,我们需要理解JavaMail API。...

    spring mail 带附件

    Spring Mail 是一个强大的Java库,用于发送电子邮件,包括带有附件的功能。在Spring框架中,它通过集成JavaMailSender接口提供了一种简洁的方式来处理邮件服务。本文将深入探讨如何使用Spring Mail发送带有附件的...

    spring框架使用以及邮件发送

    8. **邮件发送**:Spring框架提供了`JavaMailSender`接口和相关的实现类,可以方便地发送邮件,支持HTML格式、附件等,这对于发送通知或报告非常有用。 在实际开发中,Spring框架的强大功能可以极大地提高开发效率...

    spring各种邮件发送

    在IT行业中,Spring框架是Java开发中的一个关键组件,它提供了丰富的功能,包括但不限于依赖注入、面向切面编程以及各种企业级服务。在"spring各种邮件发送"这个主题中,我们将探讨Spring框架如何帮助开发者实现电子...

    struts spring 实现简单的邮件发送

    Spring的邮件支持是通过JavaMailSender接口实现的,它允许开发者轻松地发送各种类型的邮件,包括HTML、文本或者带有附件的邮件。 在本项目中,结合Struts和Spring,我们可以按照以下步骤实现邮件发送: 1. **配置...

Global site tag (gtag.js) - Google Analytics