import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class QQMailSender {
public static void main(String[] args) {
// 发件人的 邮箱 和 密码(替换为自己的邮箱和授权码)
String myEmailAccount = "your_qq_email@qq.com";
String myEmailPassword = "your_authorization_code";
// 收件人邮箱
String receiveMailAccount = "recipient@example.com";
// 1. 创建参数配置, 用于连接邮件服务器的参数配置
Properties props = new Properties(); // 参数配置
props.setProperty("mail.transport.protocol", "smtp"); // 使用的协议(JavaMail规范要求)
props.setProperty("mail.smtp.host", "smtp.qq.com"); // 发件人的邮箱的 SMTP 服务器地址
props.setProperty("mail.smtp.auth", "true"); // 需要请求认证
// PS: 某些邮箱服务器要求 SMTP 连接需要使用 SSL 加密;如果是,则打开下面这行代码:
// props.setProperty("mail.smtp.ssl.enable", "true");
// 2. 根据配置创建会话对象, 用于和邮件服务器交互
Session session = Session.getInstance(props);
session.setDebug(true); // 设置为debug模式, 可以查看详细的发送 log
try {
// 3. 创建一封邮件
Message message = createSimpleMail(session, myEmailAccount, receiveMailAccount);
// 4. 根据 Session 获取邮件传输对象
Transport transport = session.getTransport();
// 5. 使用 邮箱账号 和 密码 连接邮件服务器, 这里认证的邮箱必须与 message 中发件人邮箱一致, 否则报错
transport.connect(myEmailAccount, myEmailPassword);
// 6. 发送邮件, 发到所有的收件地址, message.getAllRecipients() 获取到的是在创建邮件对象时添加的所有收件人, 抄送人, 密送人
transport.sendMessage(message, message.getAllRecipients());
// 7. 关闭连接
transport.close();
} catch (MessagingException e) {
e.printStackTrace();
}
}
/**
* 创建一封只包含文本的简单邮件
*/
private static MimeMessage createSimpleMail(Session session, String from, String to) throws MessagingException {
// 创建邮件对象
MimeMessage message = new MimeMessage(session);
// 指明邮件的发件人
message.setFrom(new InternetAddress(from));
// 指明邮件的收件人,现在发件人和收件人是一样的,那就是自己给自己发
message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
// 邮件的标题
message.setSubject("测试邮件");
// 邮件的文本内容
message.setContent("你好,这是一封通过Java程序发送的QQ邮件!", "text/html;charset=UTF-8");
return message;
}
}
邮件服务器配置:
mail.smtp.host
:指定SMTP服务器地址,这里使用的是QQ邮箱的SMTP服务器。mail.smtp.auth
:表示需要进行身份验证。mail.smtp.ssl.enable
:某些情况下需要启用SSL加密。Session对象:
Session.getInstance(props)
:根据配置创建一个会话对象,用于和邮件服务器交互。session.setDebug(true)
:设置为调试模式,可以在控制台查看详细的发送日志。创建邮件:
MimeMessage
类创建邮件对象,并设置发件人、收件人、主题和内容。发送邮件:
Transport
类连接到SMTP服务器并发送邮件。需要提供发件人的邮箱和授权码(不是密码)。授权码:
注意事项:
props.setProperty("mail.smtp.ssl.enable", "true")
)。上一篇:java 判断
下一篇:java file类的方法
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站