xJavaMail 是sun公司(现以被甲骨文收购)为方便Java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如前面所讲的SMTP,POP3,IMAP,还有MIME等。我们在使用JavaMail API 编写邮件时,无须考虑邮件的底层实现细节,只要调用JavaMail 开发包中相应的API类就可以了。
获取 JavaMail 资源
JavaMail 在 GitHub 的地址是:https://github.com/javaee/javamail。不过这个项目现在已经被所有者归档,"This repository has been archived by the owner. It is now read-only.",如下:
点击上图中右下角红色框部分 Release 版本信息,可以进入到 JavaMail 1.6.2 Final Release 界面,这里可以下载到 JavaMail 1.6.2 版本的 Source Code、javax.mail.jar 包、Samples 等,如下:
Java 项目准备
创建项目的过程不多说,这里说一下怎么添加 javax.mail 依赖,如下:然后搜索 javax.mail,并从搜索结果中选择 javax.mail:mail:1.4.7 依赖文件,并且勾选 Download to,点击 OK,如下:
之后就会自动下载 javax.mail:mail:1.4.7 依赖文件,如下左图;在出现的 Configure Library 对话框中直接点击 OK 即可,如下右图:
这样 javax.mail:mail:1.4.7 依赖文件就会出现在项目的 Dependencies 中,勾选它并点击底部的 OK 按钮,如下:
完成之后,在项目目录结构的 lib 目录下就可以看到 mail-1.4.7.jar 和 activation-1.1.jar 两个依赖文件了,如下:
实现邮件发送
首先在 src/main/java 目录下创建一个 com.example.mail 目录用于放置 Java 代码文件,如下:
创建代码 SendMailText.java 文件,其内容如下:
package com.example.mail;import javax.mail.*;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import java.util.Date;import java.util.Properties;public class SendMailText {
//发件人地址 private static String senderAddress = "AAAAAAAA@163.com"; //收件人地址 private static String recipientAddress = "BBBBBBBB@163.com"; //发件人账户名 private static String senderAccount = "AAAAAAAA"; //发件人账户密码 private static String senderPassword = "XXXXXXXXXXXXXXXX"; public static void main(String[] args) throws Exception {
//1.连接邮件服务器的参数配置 Properties props = new Properties(); //设置用户的认证方式 props.setProperty("mail.smtp.auth", "true"); //设置传输协议 props.setProperty("mail.transport.protocol", "smtp"); //设置收件人的 SMTP