首先需要配置QQ邮箱,开启功能,获取授权码。
https://www.oracle.com/technetwork/java/javamail/index-138643.html
mail Jar包下载地址
https://www.oracle.com/technetwork/articles/java/index-135046.html
JAF Jar包下载地址
具体JAVA代码如下:
Properties props = System.getProperties();
props.setProperty("mail.smtp.host", "smtp.qq.com");
props.setProperty("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.port", "465");
props.setProperty("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.auth", "true");
// 使用ssl加密传输,解决ssl证书报错问题
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
props.put("mail.smtp.ssl.enable", "true");
props.put("mail.smtp.ssl.socketFactory", sf);
final String username = "123456789@qq.com";//发件人邮箱
final String password = "xcvbgtrejpouhl";//开启QQ邮箱smtp功能给的授权码,当qq邮箱密码使用
Session session = Session.getDefaultInstance(props, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
session.setDebug(true);//在控制台打印发送邮件日志信息
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(username));
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse("123456789@qq.com", false));//收件人邮箱
msg.setSubject("验证码");//邮件标题(邮件标题,避免被QQ邮箱当垃圾扔进垃圾桶)
msg.setText("184698");//邮件文本内容
msg.setSentDate(new Date());
Transport.send(msg);
System.out.println("Message sent successful");