java通過SMTP傳送QQ郵件的完全步驟
阿新 • • 發佈:2018-11-16
轉自: https://blog.csdn.net/qq422733429/article/details/51280020
java通過SMTP傳送QQ郵件的完全步驟
首先,我們需要開啟QQ郵箱的SMTP服務,因為QQ郵箱對於一般的使用者都是預設關閉SMTP服務的。
- 1
開啟QQ郵箱,點選設定
點選帳戶
找到SMTP服務的選項,可以看到此處預設是關閉的,點選開啟,然後騰訊會進行一些身份驗證,身份驗證通過以後,騰訊會給出一個用於使用SMTP的16位口令,此處這個口令一定牢記,因為後面要使用SMTP功能必須要用到這個口令,沒有這個口令即使知道QQ郵箱密碼也沒有用,此處未給出口令的截圖,畢竟為了隱私保密,不然大家都可以登入使用我的QQ郵箱SMTP服務了。後面我們將該口令記為SMTP口令。
接下就要開始寫程式碼了 。
首先,要使用java的郵箱功能需要javax.mail這個jar包,此處給出該jar包的百度盤地址。[http://pan.baidu.com/s/1dE8c0fv]
下面是傳送郵件的具體java程式碼
// 建立Properties 類用於記錄郵箱的一些屬性
Properties props = new Properties();
// 表示SMTP傳送郵件,必須進行身份驗證
props.put("mail.smtp.auth", "true");
//此處填寫SMTP伺服器
props. put("mail.smtp.host", "smtp.qq.com");
//埠號,QQ郵箱給出了兩個埠,但是另一個我一直使用不了,所以就給出這一個587
props.put("mail.smtp.port", "587");
// 此處填寫你的賬號
props.put("mail.user", "[email protected]");
// 此處的密碼就是前面說的16位STMP口令
props.put("mail.password", "xxxxxxxxxxxxxxxxxxx");
// 構建授權資訊,用於進行SMTP進行身份驗證
Authenticator authenticator = new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
// 使用者名稱、密碼
String userName = props.getProperty("mail.user");
String password = props.getProperty("mail.password");
return new PasswordAuthentication(userName, password);
}
};
// 使用環境屬性和授權資訊,建立郵件會話
Session mailSession = Session.getInstance(props, authenticator);
// 建立郵件訊息
MimeMessage message = new MimeMessage(mailSession);
// 設定發件人
InternetAddress form = new InternetAddress(
props.getProperty("mail.user"));
message.setFrom(form);
// 設定收件人的郵箱
InternetAddress to = new InternetAddress("[email protected]");
message.setRecipient(RecipientType.TO, to);
// 設定郵件標題
message.setSubject("測試郵件");
// 設定郵件的內容體
message.setContent("這是一封測試郵件", "text/html;charset=UTF-8");
// 最後當然就是傳送郵件啦
Transport.send(message);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
至此,郵件就應該能成功發出去啦。
本文是日常開發的隨手記錄,如有問題,請博內留言以幫助我改正和完善,一起努力,一起學習,一起進步!如果覺得有幫助,記得贊一個喲。
Mr peter king 2016 04 29