使用JavaMail API实现邮件发送,需在Maven中添加javax.mail依赖;2. 配置SMTP信息如host、port、认证方式;3. 通过Session获取邮件会话,使用授权码而非密码;4. 构建MimeMessage设置发件人、收件人、主题和内容;5. 调用Transport.send发送邮件,注意端口与加密配置匹配。

要使用Java实现简单的邮件发送功能,核心是利用JavaMail API。它提供了发送和接收电子邮件的标准方法。下面介绍如何配置并发送一封基础的文本邮件。
添加依赖
如果你使用Maven项目,在pom.xml中加入JavaMail依赖:
如果是普通Java项目,需手动下载javax.mail.jar并添加到类路径。
配置邮件会话
发送邮件前需要设置SMTP服务器信息。以QQ邮箱为例,开启SMTP服务后,使用以下配置:
立即学习“Java免费学习笔记(深入)”;
props.put("mail.smtp.host", "smtp.qq.com");
props.put("mail.smtp.port", "587");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
Session session = Session.getInstance(props, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("your_email@qq.com", "your_password");
}
});
注意:这里的密码不是登录密码,而是邮箱提供的授权码,需在邮箱设置中开启SMTP后获取。
构建并发送邮件
使用MimeMessage对象设置邮件内容并发送:
try {MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("your_email@qq.com"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress("to_email@example.com"));
message.setSubject("测试邮件");
message.setText("这是一封通过Java发送的测试邮件。");
Transport.send(message);
System.out.println("邮件发送成功!");
} catch (MessagingException e) {
e.printStackTrace();
}
确保网络正常,并正确填写收件人邮箱地址。如果发送失败,检查授权码、SMTP配置或防火墙设置。
基本上就这些。不复杂但容易忽略细节,比如端口选择(465用于SSL,587用于STARTTLS)、是否启用加密等。根据使用的邮箱服务商调整配置即可实现基本邮件发送功能。










