import java.util.Date;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
/**
* 常规JavaMail 邮件发送实用类
*/
public final class MailUtil {
// 邮件发送者地址
private static final String SenderEmailAddr = "xxxxxxxx@163.com";
// 邮件发送者邮箱用户
private static final String SMTPUserName = "xxxxxxxx";
// 邮件发送者邮箱密码
private static final String SMTPPassword = "xxxxxxxxx";
// 邮件发送者邮箱SMTP服务器
private static final String SMTPServerName = "smtp.163.com";
// 传输类型
private static final String TransportType = "smtp";
// 属性
private static Properties props;
/**
* 私有构造函数,防止外界新建本实用类的实例,因为直接使用MailUtil.sendMail发送邮件即可
*
*/
private MailUtil() {
}
/**
* 静态构造器
*/
static {
MailUtil.props = new Properties();
// 存储发送邮件服务器的信息
MailUtil.props.put("mail.smtp.host", MailUtil.SMTPServerName);
// 同时通过验证
MailUtil.props.put("mail.smtp.auth", "true");
}
/**
* 发送邮件
* @param emailAddr:收信人邮件地址
* @param mailTitle:邮件标题
* @param mailConcept:邮件内容
*/
public static void sendMail(String emailAddr, String mailTitle,
String mailConcept) {
// 根据属性新建一个邮件会话,null参数是一种Authenticator(验证程序) 对象
Session s = Session.getInstance(MailUtil.props, null);
// 设置调试标志,要查看经过邮件服务器邮件命令,可以用该方法
s.setDebug(false);
// 由邮件会话新建一个消息对象
Message message = new MimeMessage(s);
try {
// 设置发件人
Address from = new InternetAddress(MailUtil.SenderEmailAddr);
message.setFrom(from);
// 设置收件人
Address to = new InternetAddress(emailAddr);
message.setRecipient(Message.RecipientType.TO, to);
// 设置主题
message.setSubject(mailTitle);
// 设置信件内容
message.setText(mailConcept);
// 设置发信时间
message.setSentDate(new Date());
// 存储邮件信息
message.saveChanges();
Transport transport = s.getTransport(MailUtil.TransportType);
// 要填入你的用户名和密码;
transport.connect(MailUtil.SMTPServerName, MailUtil.SMTPUserName,
MailUtil.SMTPPassword);
// 发送邮件,其中第二个参数是所有已设好的收件人地址
transport.sendMessage(message, message.getAllRecipients());
transport.close();
System.out.println("发送邮件,邮件地址:" + emailAddr + " 标题:" + mailTitle
+ " 内容:" + mailConcept + "成功!");
} catch (Exception e) {
System.out.println(e.getMessage());
System.out.println("发送邮件,邮件地址:" + emailAddr + " 标题:" + mailTitle
+ " 内容:" + mailConcept + "失败! 原因是" + e.getMessage());
}
}
/**
* 测试邮件发送情况
* @param args
*/
public static void main(String[] args){
MailUtil.sendMail("xxxxxxx@yeah.net", "Java测试邮件", "测试内容<hr>!");
}
}
分享到:
相关推荐
在使用JavaMail发送Gmail邮件时,需要配置OAuth2认证或者使用Google的App Passwords。`GmailSender`可能包含了设置这些认证信息以及发送Gmail邮件的具体逻辑。 4. **Mailbox.java** 这个类可能代表了收件箱或发件...
这个类称为 MailInfo,包含了邮件的各种信息,例如邮件服务器的主机名和端口号、邮件发送者的地址、邮件接收者的地址、邮件主题、邮件内容、邮件附件等。 在 MailInfo 类中,我们定义了多个成员变量,用于存储邮件...
下面我们将深入探讨JavaMail的基本概念、如何使用JavaMail发送邮件以及在Struts2框架中的实现方式。 JavaMail API主要包括以下组件: 1. `javax.mail.Session`:是JavaMail的核心,负责配置邮件服务器的信息,如...
JavaMail发送邮件的基本步骤如下: 1. 引入依赖:在项目中添加activation.jar和mail.jar,通常可以通过Maven或Gradle等构建工具进行管理。 2. 创建Session:这是JavaMail的核心,用于配置邮件服务的属性,如SMTP...
首先,我们需要了解JavaMail发送邮件的基本步骤: 1. **配置Properties对象**:创建一个`Properties`对象,并设置SMTP服务器的相关属性,如主机名(mail.smtp.host)和端口号(mail.smtp.port)。如果SMTP服务器...
### JavaMail发送邮件时遇到的问题及解决方法 在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将...
在JavaMail API中,我们可以使用MimeMessage类创建邮件,用Session类配置邮件服务器的连接参数,并通过Transport类将邮件发送出去。以下是一个详细的JavaMail邮件发送的实现过程。 首先,你需要导入JavaMail相关的...
JavaMail邮件发送源码是Java开发中用于发送电子邮件的一个库,它提供了丰富的API来处理SMTP、POP3和IMAP等邮件协议。这个简单的javamail实例表明,开发者已经成功地测试了邮件发送功能,确保其在实际应用中可以正常...
JavaMail 是一个强大的开源库,用于在 Java 应用程序中处理电子邮件的发送和接收。它提供了丰富的 API,使得开发者可以方便地实现邮件的发送、接收、管理等操作。在这个主题中,我们将深入探讨如何使用 JavaMail ...
【javamail邮件发送项目】是一个基于Java技术的邮件发送解决方案,主要利用Spring框架进行配置,结合FreeMarker(FTL)模板技术实现邮件内容的动态生成,并具备异步发送及批量处理邮件的能力,最多可同时处理1000份...
基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件...
JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API
这个例子展示了如何使用JavaMail发送带附件的邮件。需要注意的是,实际应用中应处理各种异常,确保邮件发送的健壮性。此外,如果你的邮件服务器需要身份验证,还需要提供一个Authenticator来处理登录信息。 总的来...
JavaMail邮件发送(带附件)
JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送和接收。这个“javamail邮件发送接收测试”是开发者在学习过程中创建的一个测试项目,旨在帮助理解和实践 JavaMail 的核心功能。通过这个项目,我们可以深入...
这个标题"JavaMail发送邮件(文本、html、附件)"涵盖了使用JavaMail API发送不同格式邮件的核心功能。下面将详细介绍如何利用JavaMail发送文本、HTML和包含附件的邮件,以及在实际应用中需要注意的配置步骤。 1. *...
JavaMail 是一个开源库,用于在Java应用程序中发送和接收电子邮件。这个库提供了一组API,使得开发者可以方便地处理SMTP、POP3、IMAP等邮件协议。在本篇文章中,我们将深入探讨如何使用JavaMail API来实现邮件的发送...
其中,Spring的JavaMail支持使得开发者能够轻松地实现邮件发送功能。在本篇文章中,我们将深入探讨如何利用Spring来实现JavaMail邮件发送,以及在实际应用中需要注意的关键点。 首先,我们需要理解JavaMail API的...
JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送和接收。它提供了一组 API,使得开发者可以方便地在 Java 应用程序中集成邮件功能。本示例将介绍如何使用 JavaMail 实现发送邮件的功能。 首先,我们需要...