1. 程式人生 > >java通過SMTP傳送QQ郵件的完全步驟

java通過SMTP傳送QQ郵件的完全步驟

轉自: https://blog.csdn.net/qq422733429/article/details/51280020

java通過SMTP傳送QQ郵件的完全步驟

首先,我們需要開啟QQ郵箱的SMTP服務,因為QQ郵箱對於一般的使用者都是預設關閉SMTP服務的。

  
  • 1

開啟QQ郵箱,點選設定
開啟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