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框架提供了`JavaMailSender`...
Spring Boot整合邮件发送并保存历史发送邮箱 项目描述 项目主要是使用 Spring Boot 发送邮件,主要的技术点有: 1、Spring Boot +mybatis的整合 2、Spring Boot项目中jsp的使用 3、Spring Boot 发送邮件...
这个项目"struts spring 实现简单的邮件发送"旨在展示如何整合这两个框架来完成邮件发送的功能。 首先,Struts是Apache组织的一个开源项目,它提供了一种模型驱动的方式来构建动态Web应用程序。Struts框架通过控制...
总的来说,Spring框架提供了强大的邮件发送支持,通过`JavaMailSender`接口和相关辅助类,开发者可以方便地实现各种邮件功能,无论是简单的文本邮件还是包含复杂格式和附件的邮件。在实际项目中,确保正确配置SMTP...
接下来,我们可以创建一个服务类来处理邮件发送的具体逻辑,使用`JavaMailSender`发送邮件: ```java @Service public class EmailService { @Autowired private JavaMailSender mailSender; public void ...
这通常通过添加`spring-context-support`依赖来完成,该依赖包含了处理邮件发送所需的类。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.springframework <artifactId>spring-context-...
它提供了一系列接口和类,用于操作邮件服务器,包括SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(Internet消息访问协议)。 Spring框架通过`org.springframework.mail`包提供了对JavaMail的支持。它抽象了...
在本话题中,我们将探讨“Spring高效批量邮件发送”这一技术点,这通常涉及到Spring框架中的邮件服务模块以及如何优化邮件发送的效率。 首先,Spring框架的MailSender接口是处理邮件发送的核心组件。它提供了send()...
**Spring邮件发送** 在Java开发中,Spring框架提供了一种简单而强大的方式来发送电子邮件。Spring的`JavaMailSender`接口以及其实现类`SimpleMailMessage`和`MailMessage`,使得开发者能够轻松地集成邮件服务到应用...
关于压缩包中的文件"spring_扩展_邮件及定时任务_2",它很可能包含了示例代码或者配置文件,用于演示如何在Spring项目中实现邮件发送和定时任务。这些文件可能包括了Java源代码、XML配置文件或者YAML配置文件,你...
下面将详细阐述Spring邮件发送服务的核心概念和技术细节。 首先,我们需要配置SpringMail的相关设置。这通常通过一个XML配置文件完成,例如`springmail_config.xml`。在这个文件中,我们定义了邮件服务器的相关属性...
标签"源码"意味着我们将关注的是实际的代码实现,而"工具"可能指的是Spring作为Java开发的一个工具库,它简化了邮件发送的过程。 压缩包中的文件名列表暗示了这是一个Eclipse或MyEclipse项目的结构。`.classpath`...
实现这一功能,你需要在Spring配置文件中定义一个`TaskScheduler`或`ThreadPoolTaskScheduler`,然后创建一个实现了`Runnable`接口的任务类,最后在任务类中定义你的邮件发送逻辑。 接下来,我们来看Spring Mail。...
Spring提供了JavaMailSender接口以及其实现类SimpleMailMessage,使得邮件发送变得简单易行。 描述虽然为空,但我们可以通过常规步骤来了解这个主题。发送邮件的过程大致分为以下几个步骤: 1. **配置...
在本文中,我们将深入探讨如何使用Spring框架实现邮件发送功能,特别关注SSM(Spring、Spring MVC、MyBatis)和JavaMail的整合。对于初学者来说,这是一个基础且易于理解的教程,只需要遵循简单的步骤就能成功实现...
以上就是一个基本的Spring Boot整合Mail实现简单邮件发送的示例。通过这个示例,你可以了解到Spring Boot如何通过自动配置简化邮件服务的集成,以及如何使用JavaMailSender接口发送邮件。当然,实际应用中可能需要...
总结来说,Spring框架为Java应用程序提供了强大且灵活的邮件发送功能,无论是简单的文本邮件还是复杂的HTML邮件,甚至是包含附件和内嵌资源的邮件,都能通过其高级抽象层轻松实现。同时,配合模板引擎,可以有效地...