純Java實現網易郵箱發送郵件 基於Java開發的郵件發送程式。因為使用的是網易的smtp伺服器,所以寄件者郵箱要求網易郵箱。博主親測126郵箱和163郵箱有效,yeah郵箱沒有測試。
前提準備
需要匯入的JAR包link mail.jar : https://github.com/xxxqiuzh/Tools/tree/master/JarPackages/sendMail
郵箱開啟smtp服務 登入網易郵箱(截圖以126郵箱為例)>>進入“設定”>>點擊“POP3/SMTP/IMAP”>>選擇“POP3/SMTP服務”單選框>>然後按提示操作。這裡要求設定郵箱用戶端授權碼,一定要記住。
源碼:DoSend.java
import java.util.Properties;import javax.mail.*;import javax.mail.internet.*;public class DoSend {private String from = "xxx_qz@126.com"; // 寄件者郵箱地址private String user = "xxx_qz@126.com"; // 寄件者稱號,同郵箱地址private String password = "xxxqz126"; // 寄件者郵箱用戶端授權碼/** * * @param to * @param text * @param title *//* 發送驗證資訊的郵件 */public boolean sendMail(String to, String text, String title) {Properties props = new Properties();props.setProperty("mail.smtp.host", "smtp.126.com"); // 設定發送郵件的郵件伺服器的屬性(這裡使用網易的smtp伺服器)props.put("mail.smtp.host", "smtp.126.com"); // 需要經過授權,也就是有戶名和密碼的校正,這樣才能通過驗證(一定要有這一條)props.put("mail.smtp.auth", "true"); // 用剛剛設定好的props對象構建一個sessionSession session = Session.getDefaultInstance(props); // 有了這句便可以在發送郵件的過程中在console處顯示過程資訊,供調試使// 用(你可以在控制台(console)上看到發送郵件的過程)session.setDebug(true); // 用session為參數定義訊息對象MimeMessage message = new MimeMessage(session); // 載入寄件者地址try {message.setFrom(new InternetAddress(from));message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // 載入收件者地址message.setSubject(title); // 載入標題Multipart multipart = new MimeMultipart(); // 向multipart對象中添加郵件的各個部分內容,包括常值內容和附件BodyPart contentPart = new MimeBodyPart(); // 設定郵件的常值內容contentPart.setContent(text, "text/html;charset=utf-8");multipart.addBodyPart(contentPart);message.setContent(multipart);message.saveChanges(); // 儲存變化Transport transport = session.getTransport("smtp"); // 串連伺服器的郵箱transport.connect("smtp.126.com", user, password); // 把郵件發送出去transport.sendMessage(message, message.getAllRecipients());transport.close();} catch (MessagingException e) {e.printStackTrace();return false;}return true;}public static void main(String[] args) { // 做測試用DoSend ds = new DoSend();ds.sendMail("917785909@qq.com", "你好,這是一封測試郵件,無需回複。", "測試郵件");}}
Screenshot