package com.test;
import java.util.Date;
import java.util.Properties;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class MailTest {
//發件人郵箱
public static String myEmailAccount="[email protected]";
//發件人密碼
public static String myEmailPassWord="*******";
//發件人郵箱smtp服務器地址
public static String myEmailSMTPHost="smtp.163.com";
//收件人郵箱
public static String receiceMailAccount="[email protected]";
public static void main(String[] args) throws Exception {
Properties props=new Properties();
props.setProperty("mail.transport.protocol", "smtp"); // 使用的協議(JavaMail規範要求)
props.setProperty("mail.smtp.host", myEmailSMTPHost);// 發件人的郵箱的 SMTP 服務器地址
props.setProperty("mail.smtp.auth", "true"); // 需要請求認證
Session session = Session.getDefaultInstance(props);
session.setDebug(true);
//創建一份郵件
MimeMessage message = createMimeMessage(session, myEmailAccount, receiceMailAccount);
// 4. 根據 Session 獲取郵件傳輸對象
Transport transport = session.getTransport();
transport.connect(myEmailAccount, myEmailPassWord);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}
public static MimeMessage createMimeMessage(Session session, String sendMail, String receiveMail) throws Exception {
// 1. 創建一封郵件
MimeMessage message = new MimeMessage(session);
// 2. From: 發件人
message.setFrom(new InternetAddress(sendMail, "XX", "UTF-8"));
// 3. To: 收件人(可以增加多個收件人、抄送、密送)
message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail, "XX用戶", "UTF-8"));
// 4. Subject: 郵件主題
message.setSubject("打折鉅惠", "UTF-8");
// 5. Content: 郵件正文(可以使用html標籤)
message.setContent("豬腳用戶你好, 今天全場5折, 快來搶購, 錯過今天再等一年。。。", "text/html;charset=UTF-8");
// 6. 設置發件時間
message.setSentDate(new Date());
// 7. 保存設置
message.saveChanges();
return message;
}
}
如果你的163郵箱出現550的錯誤,那麼就應該去這裏開啓授權碼