public class CommonMailSender implements MailSender {
private static final Log logger = LogFactory.getLog(CommonMailSender.class);
private MimeMessage mimeMsg; // MIME邮件对象
private Session session; // 邮件回话对象
private Properties props = new Properties();// 系统属性
private String user;
private String password;
public CommonMailSender(String smtpHost, String userName, String password) {
props.put("mail.host", smtpHost);
props.put("mail.localhost", smtpHost);
props.put("mail.smtp.host", smtpHost);
props.put("mail.smtp.localhost", smtpHost);
props.put("mail.smtp.auth", "true");
this.user = userName;
this.password = password;
props.setProperty("sun.jnu.encoding", "UTF-8");
}
public CommonMailSender(String smtpHost, int smtpPort,String userName, String password) {
props.put("mail.host", smtpHost);
props.put("mail.localhost", smtpHost);
props.put("mail.smtp.host", smtpHost);
props.put("mail.smtp.localhost", smtpHost);
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", smtpPort);
this.user = userName;
this.password = password;
props.setProperty("sun.jnu.encoding", "UTF-8");
}
public boolean doSend(CommonMail mail){
try {
session = Session.getDefaultInstance(props, null); // 获得邮件回话对象
mimeMsg = new MimeMessage(session);
mimeMsg.setFrom( new InternetAddress(mail.getFrom() ,mail.getFromName(),"UTF-8"));
List <String> toList = mail.getToList();
for( String to : toList ){
mimeMsg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
}
mimeMsg.setSubject( mail.getSubject(),"UTF-8");
mimeMsg.setContent(mail.getMultipart());
mimeMsg.saveChanges();
Transport transport = session.getTransport("smtp");
Integer smtpPort=(Integer)props.get("mail.smtp.port");
transport.connect((String)props.get("mail.smtp.host"),smtpPort==null?-1:smtpPort, user, password);
transport.sendMessage(mimeMsg, mimeMsg.getRecipients(Message.RecipientType.TO));
transport.close();
return true;
} catch (Exception e) {
logger.error(e.getMessage());
return false;
}
}
}
相关推荐
Java Email工具类 发送邮件,不是很强大
Java Email工具类是Java开发中用于发送电子邮件的实用程序,主要涉及到JavaMail API。这个API提供了处理MIME协议的能力,使开发者能够构建复杂的邮件,包括文本、图片和附件。MIME(Multipurpose Internet Mail ...
import java.util.List; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.Properties; import javax.mail.Session; import javax.mail.Transport; import javax....
EhCacheUtils - 基于ehcache的工具类 LruCacheUtils - 基于LinkedHashMap实现LRU缓存的工具类 MemcachedUtils - 基于memcached的工具类 RedisUtils - 基于redis的工具类,与redis的集群配置无缝结合 db JdbcUtils ...
本篇将深入讲解如何使用Apache Commons Email工具类来发送带有验证码的电子邮件。 首先,Apache Commons Email是Apache软件基金会的一个项目,它提供了一组丰富的API,简化了Java中发送电子邮件的过程。这个库包含...
本篇文章将详细讲解如何使用`commons-email-1.2.jar`这个开源库来实现邮件发送,并通过`TestCommonEMail.java`示例代码进行演示。 Apache Commons Email是Apache软件基金会提供的一个模块,它简化了Java中发送电子...
Java发送邮件是一个常见的任务,Apache Commons Email库是Java开发者常用的一个工具,它为发送电子邮件提供了简单易用的API。这个库极大地简化了邮件构建和发送的过程,尤其在处理复杂邮件内容,如添加附件、HTML...
`commons-email-1.4.jar`是Apache Commons Email库的核心文件,提供了丰富的类和方法来创建和发送电子邮件。它支持HTML邮件、多部分邮件(包含文本和附件)、抄送、密送等功能。使用Commons Email,开发者可以轻松地...
Java Commons 是一个广泛使用的Java工具类项目,它包含了一系列实用的、高度封装的类和方法,旨在简化开发人员的日常编码工作。这个项目通常由许多模块组成,涵盖了字符串处理、集合操作、IO流操作、日期时间处理、...
开发者可以使用protobuf编译器(protoc)将.proto文件转换为Java类,这些类提供了序列化和反序列化的API,使得程序能够轻松地处理和解析protobuf格式的数据。 使用protobuf有以下几个关键步骤: 1. 定义数据结构:...
"mail.jar、commons-email-1.2.jar、activation.jar下载"这个标题暗示了我们正在处理用于处理电子邮件功能的Java库。这些库对于使用Java编程语言构建邮件发送功能至关重要。 1. **JavaMail API**(mail.jar): ...
总之,`java-lib-annotated-validator`是一个强大的工具,可以帮助开发者在Java项目中实现高效且易于管理的数据验证。通过结合注解和反射,它提供了一种优雅的方式,使验证过程更加灵活和可扩展。在实际开发中,合理...
在Java编程领域,自定义服务器检验工具类是开发者为了实现特定的服务器验证功能而创建的类。这样的工具类通常包含了各种方法,用于检查输入数据的有效性、处理服务器端的业务逻辑以及确保系统的安全性。以下是对这个...
在Java编程中,发送电子邮件是一项常见的任务,而`commons-email-1.3.3.jar`、`activation.jar`和`mail.jar`这三个JAR包则是实现这一功能的关键组件。它们分别提供了不同的服务,使得开发者能够方便地构建和发送邮件...
本教程将详细讲解如何使用`java email`库,特别是通过一个名为`SendJMail.java`的工具类,来实现邮件的发送功能。我们将讨论`mail.jar`库的作用,以及如何集成并使用它来创建一个万能的邮件发送工具。 首先,`mail....
首先,`commons-email-1.1.jar`是Apache Commons Email库的核心组件,这个库简化了Java邮件的发送过程。它提供了丰富的功能,如支持HTML邮件、多部分消息(包括附件)、SMTP身份验证以及异常处理。通过使用Apache ...
"commons-email-1.5-src.zip"是一个包含源代码的压缩包,其中包含了版本1.5的Apache Commons Email库的所有源代码文件,方便开发者查看、学习和定制。 Apache Commons Email库提供了多种功能,包括: 1. **简单...
apache开源项目源码commons-email-1.2-src ...各种操作邮件的工具类源码,你会从中得到意想不到的效果! apache开源组织开发的开源项目源码,其优良的代码风格和高质量的源码是学习者难得的学习资料!
Java正则表达式工具类是Java编程中一个非常实用的组件,它可以帮助开发者处理和验证字符串,进行数据提取、格式检查等操作。在Java中,正则表达式是通过`java.util.regex`包来实现的,这个包提供了一系列的类和接口...