Java Mail的使用

本文中使用 JavaMail 可以在 java.net 下載到。本文以 1.5.5版本爲例:

在Itellij Idea 中通過 File->Project Structure添加下載好的包

QQ郵箱的發送爲例

Properties pro = new Properties(); 
pro.put("mail.stmp.host","stmp.qq.com"); //qq郵箱的STMP郵件服務器
pro.put("mail.stmp.port","587"); //通過ssl安全協議端口
pro.put("mail.stmp.auth","true"); //打開驗證

創建認證器 Authenticator 在重載方法中重寫getPasswordAuthentication() 方法,傳入字符串形式的用戶名(一般是你的發件郵箱)username密碼password

Authenticator authenticator = new Authenticator(){
    @Override
    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(username,password);
    }
};

創建郵件會話 Session

Session session = Session.getDefaultInstance(pro,authenticator);

創建MIME形式的消息對象MimeMessage

什麼是 MIME

MimeMessage mimeMessage = new MimeMessage(session);
mimeMessage.setFrom("[email protected]"); //發件郵箱地址
mimeMessage.setRecipients(Message.RecipientType.TO,"[email protected]");//收件人郵箱地址
mimeMessage.setSubject("Hello Mail!"); //設置郵件主題
mimeMessage.setSendDate(new Date()); //設置發送時間,此處爲當前時間

完成了這些,接下來就是創建郵件的內容了,我們需要通過 MimeMessagesetContent(Multipart part); 方法來傳入一個Multipart對象

Multipart multipart = new Multipart();
BodyPart bodyPart = new BodyPart();
bodyPart.setContent("<h1>I am content!</h1>","text/html;charset=utf-8"); //設置BodyPart內容及格式
multipart.addBodyPart(bodyPart);

接下來設置MimeMessage的內容

mimeMessage.setContent(multipart);

到這裏基本上郵件創建就完成了,接下來就是發送了

Transport.send(mimeMessage);

相關API JavaMail API

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章