首先需要准備的東西 我這里以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(); } } }
上面需要修改郵件發送者的郵箱和授權碼,郵件接收者,郵件內容,