首先需要准备的东西 我这里以QQ邮箱为例:
点击设置->账户,找到这个页面
拿到授权码 并保存好
然后代码如下:
package com.assetManage.tusdt.utils; import javax.mail.*; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.util.Properties; public class MailUtil { public static void main(String[] args) { sendMail("邮件接收者@qq.com","发送的信息"); } /** * 外网邮件发送 * * @param to * @param code */ public static void sendMail(String to, String code) { // Session对象: Properties props = new Properties(); props.setProperty("mail.smtp.host", "smtp.qq.com"); // 设置主机地址 // smtp.163.com // smtp.qq.com // smtp.sina.com props.setProperty("mail.smtp.auth", "true");// 认证 // 2.产生一个用于邮件发送的Session对象 Session session = Session.getInstance(props); // Message对象: Message message = new MimeMessage(session); // 设置发件人: try { // 4.设置消息的发送者 Address fromAddr = new InternetAddress("邮件发送者@qq.com"); message.setFrom(fromAddr); // 5.设置消息的接收者 nkpxcloxbtpxdjai Address toAddr = new InternetAddress(to); // TO 直接发送 CC抄送 BCC密送 message.setRecipient(MimeMessage.RecipientType.TO, toAddr); // 6.设置主题 message.setSubject("来自*****系统的验证码"); // 7.设置正文 message.setContent("这里是邮件的正文信息\n\n您的验证码为:" + code, "text/html;charset=UTF-8"); // 8.准备发送,得到火箭 Transport transport = session.getTransport("smtp"); // 9.设置火箭的发射目标 //transport.connect("smtp.163.com", "发送者@163.com", "biaobaiqiang123"); transport.connect("smtp.qq.com", "发送者@qq.com", "jxzkgctb*******");//jxzk..这个就是你的授权码 // 10.发送 transport.sendMessage(message, message.getAllRecipients()); // Transport对象: // Transport.send(message); } catch (AddressException e) { e.printStackTrace(); } catch (MessagingException e) { e.printStackTrace(); } } }
上面需要修改邮件发送者的邮箱和授权码,邮件接收者,邮件内容,