`
Sharpleo
  • 浏览: 574141 次
  • 性别: Icon_minigender_1
  • 来自: newsk
社区版块
存档分类
最新评论

spring 简单邮件发送

阅读更多
package org.sharpcode.util;

import java.io.File;
import java.util.Properties;
import javax.mail.internet.MimeMessage;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

/**
 * 
 * 发送邮件
 * */
public class SendMail {

	/**
	 * mail 简单邮件发送
	 * 
	 * */
	private String mailservicehost;
	private String mailaccount;
	private String mailusername;
	private String mailpassword;

	public void setMailservicehost(String mailservicehost) {
		this.mailservicehost = mailservicehost;
	}

	public void setMailaccount(String mailaccount) {
		this.mailaccount = mailaccount;
	}

	public void setMailusername(String mailusername) {
		this.mailusername = mailusername;
	}

	public void setMailpassword(String mailpassword) {
		this.mailpassword = mailpassword;
	}

	public void Sendtext(String usermail, String zhuti, String text)
			throws Exception {
		JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
		// 设定mail server
		senderImpl.setHost(mailservicehost);
		// 建立邮件消息
		SimpleMailMessage mailMessage = new SimpleMailMessage();
		mailMessage.setTo(usermail); // 收件人
		mailMessage.setFrom(mailaccount);// 发件人
		mailMessage.setSubject(zhuti); // 主题
		mailMessage.setText(text); // 内容
		senderImpl.setUsername(mailusername); // 根据自己的情况,设置username
		senderImpl.setPassword(mailpassword); // 根据自己的情况,
		// 设置password
		Properties prop = new Properties();
		prop.put("mail.smtp.auth", "true"); // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确
		prop.put("mail.smtp.timeout", "25000");
		senderImpl.setJavaMailProperties(prop); // 发送邮件
		senderImpl.send(mailMessage);
	}

	/**
	 * 发送html邮件 usermail 收件人邮箱 zhuti 主题 html 内容
	 * */
	public void sendHtml(String usermail, String zhuti, String html)
			throws Exception {
		JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();

		// 设定mail server
		senderImpl.setHost(mailservicehost);

		// 建立邮件消息,发送简单邮件和html邮件的区别
		MimeMessage mailMessage = senderImpl.createMimeMessage();
		MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage,
				true, "utf-8");

		// 设置收件人,寄件人
		messageHelper.setTo(usermail);
		messageHelper.setFrom(mailaccount);
		messageHelper.setSubject(zhuti);
		// true 表示启动HTML格式的邮件
		messageHelper.setText(html, true);

		senderImpl.setUsername(mailusername); // 根据自己的情况,设置username
		senderImpl.setPassword(mailpassword); // 根据自己的情况,
		// 设置password
		Properties prop = new Properties();
		prop.put("mail.smtp.auth", "true"); // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确
		prop.put("mail.smtp.timeout", "25000");
		senderImpl.setJavaMailProperties(prop);
		// 发送邮件
		senderImpl.send(mailMessage);

		System.out.println("邮件发送成功..");

	}

	/**
	 * 
	 * 带附件的Email发送 收件人 标题 内容 文件路径 文件名
	 * */
	public void sendfile(String usermail, String title, String content,
			String filepath, String fileName) throws Exception {
		JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();

		// 设定mail server
		senderImpl.setHost(mailservicehost);
		// 建立邮件消息,发送简单邮件和html邮件的区别
		MimeMessage mailMessage = senderImpl.createMimeMessage();
		// 注意这里的boolean,等于真的时候才能嵌套图片,在构建MimeMessageHelper时候,所给定的值是true表示启用,
		// multipart模式 为true时发送附件 可以设置html格式
		MimeMessageHelper messageHelper = null;
		messageHelper = new MimeMessageHelper(mailMessage, true, "utf-8");
		// 设置收件人,寄件人
		messageHelper.setTo(usermail);
		messageHelper.setFrom(mailaccount);
		messageHelper.setSubject(title); // 主题
		// true 表示启动HTML格式的邮件
		messageHelper.setText(content, true); // 内容
		FileSystemResource file = new FileSystemResource(new File(filepath));
		// 这里的方法调用和插入图片是不同的。
		messageHelper.addAttachment(fileName, file);
		senderImpl.setUsername(mailusername); // 根据自己的情况,设置username
		senderImpl.setPassword(mailpassword); // 根据自己的情况,
		// 设置password
		Properties prop = new Properties();
		prop.put("mail.smtp.auth", "true"); // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确
		prop.put("mail.smtp.timeout", "25000");
		senderImpl.setJavaMailProperties(prop);
		// 发送邮件
		senderImpl.send(mailMessage);

	}
}
分享到:
评论

相关推荐

    spring各种邮件发送

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

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

    Spring Boot整合邮件发送并保存历史发送邮箱 项目描述 项目主要是使用 Spring Boot 发送邮件,主要的技术点有: 1、Spring Boot +mybatis的整合 2、Spring Boot项目中jsp的使用 3、Spring Boot 发送邮件...

    struts spring 实现简单的邮件发送

    这个项目"struts spring 实现简单的邮件发送"旨在展示如何整合这两个框架来完成邮件发送的功能。 首先,Struts是Apache组织的一个开源项目,它提供了一种模型驱动的方式来构建动态Web应用程序。Struts框架通过控制...

    java发送邮件 spring发送邮件

    总的来说,Spring框架提供了强大的邮件发送支持,通过`JavaMailSender`接口和相关辅助类,开发者可以方便地实现各种邮件功能,无论是简单的文本邮件还是包含复杂格式和附件的邮件。在实际项目中,确保正确配置SMTP...

    java 发送邮件 spring发送邮件Mail

    接下来,我们可以创建一个服务类来处理邮件发送的具体逻辑,使用`JavaMailSender`发送邮件: ```java @Service public class EmailService { @Autowired private JavaMailSender mailSender; public void ...

    spring发送邮件demo

    这通常通过添加`spring-context-support`依赖来完成,该依赖包含了处理邮件发送所需的类。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.springframework <artifactId>spring-context-...

    spring集成邮件服务

    它提供了一系列接口和类,用于操作邮件服务器,包括SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(Internet消息访问协议)。 Spring框架通过`org.springframework.mail`包提供了对JavaMail的支持。它抽象了...

    Spring 高效批量邮件发送

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

    Spring邮件发送

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

    spring中邮件及定时任务

    关于压缩包中的文件"spring_扩展_邮件及定时任务_2",它很可能包含了示例代码或者配置文件,用于演示如何在Spring项目中实现邮件发送和定时任务。这些文件可能包括了Java源代码、XML配置文件或者YAML配置文件,你...

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

    下面将详细阐述Spring邮件发送服务的核心概念和技术细节。 首先,我们需要配置SpringMail的相关设置。这通常通过一个XML配置文件完成,例如`springmail_config.xml`。在这个文件中,我们定义了邮件服务器的相关属性...

    Spring发送邮件简单实例

    标签"源码"意味着我们将关注的是实际的代码实现,而"工具"可能指的是Spring作为Java开发的一个工具库,它简化了邮件发送的过程。 压缩包中的文件名列表暗示了这是一个Eclipse或MyEclipse项目的结构。`.classpath`...

    spring定时发送邮件

    实现这一功能,你需要在Spring配置文件中定义一个`TaskScheduler`或`ThreadPoolTaskScheduler`,然后创建一个实现了`Runnable`接口的任务类,最后在任务类中定义你的邮件发送逻辑。 接下来,我们来看Spring Mail。...

    Spring 使用163发邮件带附件

    Spring提供了JavaMailSender接口以及其实现类SimpleMailMessage,使得邮件发送变得简单易行。 描述虽然为空,但我们可以通过常规步骤来了解这个主题。发送邮件的过程大致分为以下几个步骤: 1. **配置...

    spring实现邮件发送功能+ssm+javamil

    在本文中,我们将深入探讨如何使用Spring框架实现邮件发送功能,特别关注SSM(Spring、Spring MVC、MyBatis)和JavaMail的整合。对于初学者来说,这是一个基础且易于理解的教程,只需要遵循简单的步骤就能成功实现...

    SpringBoot中整合Mail实现简单邮件发送示例代码

    以上就是一个基本的Spring Boot整合Mail实现简单邮件发送的示例。通过这个示例,你可以了解到Spring Boot如何通过自动配置简化邮件服务的集成,以及如何使用JavaMailSender接口发送邮件。当然,实际应用中可能需要...

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

    总结来说,Spring框架为Java应用程序提供了强大且灵活的邮件发送功能,无论是简单的文本邮件还是复杂的HTML邮件,甚至是包含附件和内嵌资源的邮件,都能通过其高级抽象层轻松实现。同时,配合模板引擎,可以有效地...

Global site tag (gtag.js) - Google Analytics