Spring提供了一个发送邮件的抽象层,使发送邮件实现非常简单。
下面代码需要mail.jar包,如果服务器需要认证,必须加入如下加粗代码:
源文件:SendMail.java:
package mail;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
import java.util.Date;
/**
* @author chrischen
*/
public class SendMail {
//邮件发送器
public static String Sender(String subject, String msg, String sendTo, String fromMail, String user, String pw, String fromName, String protocol, String host, String port){
try{
final String username = user;
final String pass = pw;
//需要认证
Properties props = new Properties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
props.put("mail.transport.protocol", protocol);
props.put("mail.from", fromMail);
//创建发送器
JavaMailSenderImpl sender = new JavaMailSenderImpl();
sender.setHost(host);
sender.setUsername(username);
sender.setPassword(pass);
//创建消息
MimeMessage message = sender.createMimeMessage();
message.addHeader("X-Mailer", "Java Mailer");
MimeMessageHelper helper = new MimeMessageHelper(message);
helper.setTo(sendTo);
helper.setFrom(fromMail, fromName);
helper.setSubject(subject);
helper.setText(msg);
helper.setSentDate(new Date());
//开始发送
sender.setJavaMailProperties(props);
sender.send(message);
}catch(Exception e){
System.out.println("Error:" + e);
return "Failure";
}
return "Success";
}
//测试
public static void main(String args[])throws Exception
{
String subject = "测试邮件";//标题
String sendTo = "test@my.com";//接收者邮件
String fromMail = "send@my.com";//发送者邮件
String user = "send@my.com";//发送者用户
String pw = "password";//发送者邮件密码
String fromName = "Chen";//发送者名字
String protocol = "smtp";//协议
String host = "smtp.my.com";//发送主机
String port = "25";//端口
String msg = "简单邮件发送。";//发送内容
String ret = Sender(subject, msg, sendTo, fromMail, user, pw, fromName, protocol, host, port);
System.out.println("邮件发送结果:" + ret);
}
}
使用MimeMessageHelper,可以实现Multipart email,方便添加附件和内嵌资源等。
分享到:
相关推荐
我们封装一个 MailService 类来实现普通的邮件发送方法。 Spring Boot整合邮件发送并保存历史发送邮箱 from,即为邮件发送者; to,邮件接收者; subject,邮件主题; content,邮件的主体。 邮件发送者 from ...
在本项目中,结合Struts和Spring,我们可以按照以下步骤实现邮件发送: 1. **配置Spring**:首先,我们需要在Spring的配置文件中配置JavaMailSender。这包括设置SMTP服务器地址、端口、用户名、密码、默认编码等...
通过阅读和分析源码,你可以学习到如何在Spring中实现批量邮件发送,并从中获取灵感优化自己的实现。 在实际项目中,批量邮件发送常用于营销活动、通知服务或者系统报警等场景。通过合理的设计和优化,我们可以在...
【Spring进阶—如何用Java代码实现邮件发送】 在现代软件开发中,特别是在企业级应用中,邮件发送是一项常见的功能,比如在进销存系统中发送库存预警通知,或者在招聘网站上验证用户注册时的电子邮件地址。这些场景...
最后,`JavaMailSender`接口和相关的邮件服务支持使得Spring成为开发中实现邮件功能的强大工具。结合源码阅读和实际应用,开发者可以更深入地理解和掌握Spring框架的邮件发送功能,提升工作效率。对于那些需要发送...
在Java开发中,Spring框架提供了一种方便的方式来实现邮件发送功能。通过集成JavaMailSender接口,我们可以轻松地发送各种类型的电子邮件,包括文本、HTML、附件等。本篇将详细介绍如何利用Spring来实现在Java应用...
在本文中,我们将深入探讨如何使用Spring框架实现邮件发送功能,特别关注SSM(Spring、Spring MVC、MyBatis)和JavaMail的整合。对于初学者来说,这是一个基础且易于理解的教程,只需要遵循简单的步骤就能成功实现...
在Spring Boot框架中,整合JavaMailSender接口可以方便地实现邮件发送功能。Spring Boot通过自动配置简化了这个过程,使得开发者无需过多关注底层配置,只需少量代码就能完成邮件的发送。下面将详细介绍如何在Spring...
总的来说,Spring框架提供了强大的邮件发送支持,通过`JavaMailSender`接口和相关辅助类,开发者可以方便地实现各种邮件功能,无论是简单的文本邮件还是包含复杂格式和附件的邮件。在实际项目中,确保正确配置SMTP...
Spring Boot 实现邮件发送功能 ...使用 Spring Boot 实现邮件发送功能非常简单,我们只需要引入相关依赖项、配置参数、编写邮件 Service 代码、编写页面代码、邮件请求处理代码,并进行测试即可。
标题中的“spring mail通过代理发送邮件”涉及到的是Spring框架中处理电子邮件发送的功能,尤其是在网络环境有限制或需要通过代理服务器的情况下。Spring Mail是Spring Framework的一个扩展模块,它提供了与JavaMail...
在本项目中,我们关注的是Spring的一个特定功能——定时任务,以及如何结合这个功能来实现邮件的自动发送。这涉及到Spring的两大模块:Spring Task(Spring的定时任务模块)和Spring Mail(用于发送邮件的模块)。 ...
在本项目中,我们将关注Spring如何实现“无敌邮件发送”功能。邮件服务在现代软件系统中扮演着重要的角色,例如用于发送通知、验证用户账户或提供客户服务。Spring框架通过其MailSender接口和JavaMailSenderImpl实现...
这通常通过添加`spring-context-support`依赖来完成,该依赖包含了处理邮件发送所需的类。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.springframework <artifactId>spring-context-...
**Spring邮件发送** 在Java开发中,Spring框架提供了一种简单而强大的方式来发送电子邮件。Spring的`JavaMailSender`接口以及其实现类`SimpleMailMessage`和`MailMessage`,使得开发者能够轻松地集成邮件服务到应用...
### Spring Boot 邮件发送知识点详解 #### 一、环境搭建 为了使用Spring Boot进行邮件发送,首先需要搭建好相应的开发环境。...通过使用Spring Boot提供的强大支持,我们能够以简洁高效的方式实现邮件发送的需求。
JavaMailSender接口是Spring提供的邮件发送API,它定义了一系列方法来配置和发送电子邮件。JavaMailSenderImpl是这个接口的默认实现,它利用JavaMail API来发送邮件。在实际应用中,我们通常需要通过配置文件或编程...