Java Mail最基本的发送邮件例子

简介:
 首先需要导入jar包,mail-1.4.2.jar,然后给出最简单的 java mail发送邮件的代码,SimpleSendMailDemo.java
  SimpleSendMailDemo.java
package com.steven.mail;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
/**
* 最基本的邮件发送代码
*
* @author Steven
*
*/
public class SimpleSendMailDemo {
public static void main(String[] args) throws Exception {
// 创建邮件的发送过程中用到的主机和端口号的属性文件
Properties pro = new Properties();
// 设置邮件发送方的主机地址如果是163邮箱,则为smtp.163.com
// 如果是其他的邮箱可以参照http://wenku.baidu.com/link?url=Cf-1ggeW3e7Rm9KWfz47UL7vvkRpPxAKBlYoTSGpnK4hxpJDiQ0A4lRoPDncMlcMIvUpEn6PD0aObgm5zJaM7AOGkRdccSx6HDH2fSWkxIq这个文档
pro.put("mail.smtp.host", "smtp.qq.com");
// 设置发送邮件端口号
pro.put("mail.smtp.port", "25");
// 设置邮件发送需要认证
pro.put("mail.smtp.auth", "true");
// 创建邮件验证信息,即发送邮件的用户名和密码
Authenticator authenticator = new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
// 重写验证方法,填写用户名,密码
return new PasswordAuthentication("songdeitao@qq.com", "123");
}
};
// 根据邮件会话 构建一个邮件的session
Session sendMailSession = Session
.getDefaultInstance(pro, authenticator);
// 创建一个邮件消息
Message message = new MimeMessage(sendMailSession);
// 创建邮件发送者地址
Address sourceAddress = new InternetAddress("songdeitao@qq.com");
// 将原地址设置到消息的信息中
message.setFrom(sourceAddress);
// 创建邮件的接收者地址
Address destAddress = new InternetAddress("songdeitao@163.com");
// 将接收者的地址设置到消息的信息中
message.setRecipient(Message.RecipientType.TO, destAddress);
// 设置邮件的主题
message.setSubject("Merry Christmas!");
// 设置邮件的发送内容
message.setText("你好,圣诞节快乐!");
// 可以设置邮件的发送时间(就是对方看邮件发送的时间)
// String sendDate = "2013-12-23 17:55:00";
// Date date = new
// SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(sendDate);
// message.setSentDate(date);
// 发送邮件
Transport.send(message);
}
}

这个例子是完全没有封装后的源代码,如果进行封装的话,可以考虑将发送的邮箱信息封装成一个邮件信息的类,然后验证可以通过一个类继承Authenticator然后复写方法getPasswordAuthentication(),接着发送的主要业务逻辑可以封装成一个类,这样在使用的时候,就可以通过创建邮件信息,进行验证,通过主要的业务逻辑调用发送邮件。
  然后发送的最终效果如下图1所示:
   
图1
最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
Java API 网络安全
Java 发送邮件示例
本示例展示了如何使用Java编程语言发送电子邮件。通过利用JavaMail API,这段代码实现了从配置SMTP服务器,设置邮件属性,到发送邮件的全过程,为开发者提供了实用的参考。
1129 12
|
网络协议 Java API
Java语言发送邮件的技术性详解
Java语言发送邮件的技术性详解
341 0
|
Oracle 安全 Java
JAVA用Mail发送API的方法步骤教程
使用Java和Mail发送API实现自动化邮件发送,提高效率。步骤包括:1. 安装JDK并配置JAVA_HOME,2. 添加JavaMail库(可通过Maven或官网下载)。配置邮件发送涉及邮件服务器地址、端口和认证信息。创建邮件会话、邮件消息对象,然后使用Transport发送。示例代码展示完整流程。注意处理认证失败、连接问题和邮件发送失败等常见问题。
|
Java API 数据安全/隐私保护
Java 发送邮件
5月更文挑战第20天
|
Java API 数据安全/隐私保护
【亮剑】如何在Java项目中结合Spring框架实现邮件发送功能
【4月更文挑战第30天】本文介绍了如何在Java项目中结合Spring框架实现邮件发送功能。首先,需在`pom.xml`添加Spring和JavaMail依赖。然后,在`applicationContext.xml`配置邮件发送器,包括SMTP服务器信息。接着,创建一个使用依赖注入的`EmailService`类,通过`JavaMailSender`发送邮件。最后,调用`EmailService`的`sendSimpleEmail`方法即可发送邮件。最佳实践包括:使用配置管理敏感信息,利用`MimeMessage`构造复杂邮件,异常处理和日志记录,以及在大量发送时考虑使用邮件队列。
375 1
|
Java
有关Java发送邮件信息(支持附件、html文件模板发送)
有关Java发送邮件信息(支持附件、html文件模板发送)
953 1
|
Java
【Java专题_03】使用springboot发送邮件
【Java专题_03】使用springboot发送邮件
279 2
|
Java
有关Java发送邮件信息(支持附件、html文件模板发送)
有关Java发送邮件信息(支持附件、html文件模板发送)
276 0
|
Java
java 使用qq邮箱发送邮件报错 port: 465, response: 550 错误
java 使用qq邮箱发送邮件报错 port: 465, response: 550 错误
866 0
|
Java
java阿里云企业邮箱发送邮件
java阿里云企业邮箱发送邮件
4207 0