package com.heyang;
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 邮件发送实用类
* @author: 何杨(heyang78@gmail.com)
* @date: 2008-8-6-下午02:43:22
*/
public final class MailUtil {
// 邮件发送者地址
private static final String SenderEmailAddr = "XXXXXXX@163.com";
// 邮件发送者邮箱用户
private static final String SMTPUserName = "XXXX";
// 邮件发送者邮箱密码
private static final String SMTPPassword = "XXXXXXX";
// 邮件发送者邮箱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("XXXXXX@gmail.com", "title", "concept");
}
}
分享到:
相关推荐
《MailUtil邮件发送工具类详解》 在Java开发中,发送邮件是一项常见的需求,而MailUtil邮件发送工具类就是为了解决这个问题而设计的。它简化了JavaMail API的使用,使得开发者能够方便快捷地实现邮件发送功能。下面...
在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将详细探讨这些问题的原因及相应的解决方案。 ##...
在Java编程领域,发送电子邮件是一项常见的任务,而`EmailUtils`是用于简化这一过程的工具类。`JavaMail`库提供了API,使得开发者能够通过Java程序来发送、接收和处理邮件。下面我们将深入探讨`EmailUtils`和`...
基于ssm+maven的旅游网站 mysql数据库 sql表文件已经放在sources下,请自行运行建表 mailUtil 邮件发送util中,请自行填写邮箱账号与密码 项目介绍 这个网站是为了流浪动物和想要领养流浪动物的爱心人士提供一个平台...
2、com.baijob.commonTools.mail.MailUtil邮件发送工具类,方法请参考注释 此工具类依赖javax.mail,请参考pom.xml添加依赖或手动下载 三、网络相关工具类 1、com.baijob.commonTools.net.AccessControl访问控制...
在Java编程中,发送带有Excel附件的电子邮件是一项常见的任务,特别是在数据报告或自动化流程中。在某些场景下,我们可能希望直接以流的形式处理Excel数据,而不是先将其保存为一个实际的文件,然后再作为附件发送。...
"mailutil" 包就是其中之一,它是一个专门用于在 Go 中处理电子邮件消息的实用程序。 "mailutil" 包的主要功能是帮助开发者解析、构建、读取和写入电子邮件消息。这包括了处理 MIME(多用途互联网邮件扩展)结构,...
使用`MailUtil`发送邮件的示例如下: ```java public static void main(String[] args) { try { MailUtil.sendMail("from@example.com", "to@example.com", "测试邮件", "这是一封测试邮件</h1>"); System.out....
`reahl-mailutil`作为一个Python库,可能提供了邮件处理相关的工具和功能,比如发送、接收、解析邮件,或者处理邮件模板。考虑到它可能与ZooKeeper集成,也可能用于在分布式系统中进行邮件服务的协调和管理。不过,...
在这个特定的案例中,我们讨论的是一个支持发送多个附件的邮件系统源码,这通常是通过SMTP(Simple Mail Transfer Protocol)协议实现的。 SMTP是互联网上用于在邮件服务器之间传输邮件的标准协议。源代码中可能...
1.普通邮件的发送功能 这里的这个普通邮件的发送功能...import cn.hutool.extra.mail.MailUtil; /** * 发送邮件,仅限String类型的正文内容,不支持附件发送 */ public class SendMail { public static void sendMai
项目压缩包`mailUtil-master`很可能包含了完整的实现,包括邮件工具类、模板文件、配置文件等。通过分析源码,我们可以更深入地理解邮件发送和模板引擎的结合使用。 总结来说,这个项目提供了一个便捷的工具,允许...
文件列表中的`MailUtil.java`很可能就是这样一个实用类的实现代码,包含了上述方法和其他可能的辅助功能。通过阅读和理解这个类,开发者可以快速掌握JavaMail的使用,从而在项目中方便地实现邮件功能。
public class MailUtil { public static void sendMail(String to, String subject, String content) { // 初始化Session Session session = Session.getDefaultInstance(props); // 创建Message Message ...
在提供的压缩包文件"mailUtil-master"中,可能包含了一个邮件工具类库,这个库封装了上述发送和接收邮件的逻辑。开发者可以查看源代码,学习如何实现邮件功能,或者直接在自己的项目中使用这个库。 总的来说,理解...
Java发送邮件是常见的系统集成需求,Spring框架中的JavaMailSender接口提供了一种便捷的方式来实现这一功能。本教程将详细介绍如何使用Spring MVC与JavaMailSender发送邮件,并提供两种发送方式。 首先,我们需要...
MailUtil:邮件工具类,包括发送纯文本邮件,带(1个/多个)附件的邮件, 群发邮件 NumberUtil:数字操作工具 包括精准数字运算,数据格式化 PageUtil:分页工具类, POIUtil:poi工具类,excel导出 QrCodeUtil...
JavaMail API是Java编程语言中用于处理电子邮件的标准API,它提供了在Java应用程序中发送和接收邮件的功能。在本文中,我们将深入探讨如何使用JavaMail API在MyEclipse开发环境中创建一个能够发送邮件的项目。 首先...
`Mail.txt`可能包含一个简单的邮件发送示例,`MailUtil.txt`可能是一些邮件操作的实用工具函数,而`main.txt`可能是主程序入口点,展示如何调用这些功能。`说明.txt`可能提供了关于如何运行和修改这些代码的详细指南...
Java邮件发送是编程中常见的一项任务,特别是...总的来说,JavaMail API提供了一个强大且灵活的邮件发送功能,结合`MailUtil.java`这样的工具类,可以帮助开发者轻松地处理日常的邮件发送需求,同时有效防止乱码问题。