目录
JavaMail
用JavaMail向qq邮箱发消息
▐ 授权码的获取
JavaMail
JavaMail 是一个用于发送和接收电子邮件的 Java API。它提供了一个平台无关和协议无关的框架,允许开发人员通过标准电子邮件协议(如 SMTP、POP3 和 IMAP)来创建、发送和读取电子邮件。以下是 JavaMail 的一些关键概念和功能介绍:
▐ 基本概念
- Session:JavaMail 的
Session
对象表示邮件会话。它存储了配置信息,如邮件服务器地址和认证信息。 - Store:
Store
对象用于与邮件服务器通信,特别是接收邮件时。它支持协议如 IMAP 和 POP3。 - Transport:
Transport
对象用于发送邮件。它支持协议如 SMTP。 - Message:
Message
对象代表一封电子邮件。JavaMail 提供了MimeMessage
类,用于创建和解析 MIME 类型的电子邮件。 - Folder:
Folder
对象代表邮件文件夹,如收件箱、发件箱、草稿等。通过Folder
对象可以操作邮件。
用JavaMail向qq邮箱发消息
发送电子邮件的基本步骤包括:
- 创建一个
Session
对象。 - 使用
MimeMessage
创建电子邮件内容。 - 使用
Transport
对象发送邮件。
示例代码:
import javax.mail.*;
import javax.mail.internet.*;
import java.util.Properties;
public class SendEmail {
public static void main(String[] args) {
// 配置邮件服务器属性
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.qq.com");
props.put("mail.smtp.ssl.protocols", "TLSv1.2");
props.put("mail.smtp.port", "587"); // 或者使用 465 端口,并启用 SSL
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true"); // 启用 TLS
// QQ 邮箱账户信息
final String username = "******@qq.com"; // 您的QQ邮箱
final String password = "******"; // 您的QQ邮箱授权码
// 创建会话
Session session = Session.getInstance(props, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
try {
// 创建消息对象
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(username));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("******@qq.com")); // 收件人邮箱地址
message.setSubject("Test Email from QQ");
message.setText("Hello, this is a test email sent from QQ Mail using JavaMail!");
// 发送邮件
Transport.send(message);
System.out.println("Email sent successfully!");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
其中这一行代码尤为注意,在较高版本的jdk中必须要加上这段代码,笔者使用的是jdk17,需要显式指定ssl的版本号:
props.put("mail.smtp.ssl.protocols", "TLSv1.2");
▐ 授权码的获取
在上文代码中,有一处需要获取qq邮箱的授权码
首先,打开你的个人qq邮箱,点击设置
然后,点击账户
然后下拉,找到服务,笔者这里是已经开启了服务,如果没有开启的话则需要先开启服务,然后按照官方的提示完成操作,最后获取验证码
在完成所有的配置后,就可以运行发送邮件了:
本次的分享就到此为止了,希望我的分享能给您带来帮助,创作不易也欢迎大家三连支持,你们的点赞就是博主更新最大的动力!如有不同意见,欢迎评论区积极讨论交流,让我们一起学习进步!有相关问题也可以私信博主,评论区和私信都会认真查看的,我们下次再见