日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 发送163邮件

發布時間:2024/8/1 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 发送163邮件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【背景】

??SSH網上商城中使用的郵件發送是局域網內的,Java這么強大,干嘛要弄局域網的呢,要發就發真實的郵件。

【前提】

??開啟自己賬號的163郵箱協議和授權碼,授權碼和登錄郵箱賬號的密碼不是同一個,郵箱賬號密碼是登錄郵箱的密碼,授權碼是第三方登錄授權的密碼,比如Foxmail或其它程序,像編寫的Java程序也是第三方。

我這里已經開啟了,但是我忘了,然后我是重置的,這個步驟很簡單,就不寫了。記住這個授權碼,在Java里編寫的時候要用到。

【代碼編寫】

需要導入1個包,mail.jar。下載鏈接:https://pan.baidu.com/s/124oEBsE4Qrw9e8TXaHoFQA 提取碼:3mbm
然后在該jar包上,右擊 Build Path → Add to Build Path,就可以使用了。

import java.util.Properties;import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage;public class Main {/*** 發送郵件的方法* @param to 接收人* @param subject 郵件主題* @param content 郵件內容* @return*/public static String sendMail(String to, String title, String content) {/*** 1、設置郵箱的一些屬性,關于Properties類的介紹,見末尾博客* 2、創建認證對象authenticator,使用自己的郵件賬號和授權碼 * 3、獲得一個session對象,用來保存認證對象* 4、創建郵件消息對象message * 4.1、設置message的發送人,這個要和認證對象的賬號一致* 4.2、設置message的接收人* 4.3、設置郵件的主題和內容*/// 1、創建Properties屬性對象,并設置一些郵件的屬性Properties props = new Properties();props.setProperty("mail.host", "smtp.163.com"); // 設置郵箱服務器props.setProperty("mail.transport.protocol", "SMTP"); // 設置郵箱發送的協議props.setProperty("mail.smtp.auth", "true"); // 設置認證方式// 2、創建認證對象authenticatorAuthenticator authenticator = new Authenticator() {public PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication("*******5602", "授權碼"); // 郵件賬號和授權碼,注意不是密碼。}};// 3、創建會話對象sessionSession session = Session.getInstance(props, authenticator);// 4、創建郵件消息對象,設置發送人、接收人、郵件主題、郵件內容MimeMessage mess = new MimeMessage(session);try {mess.setFrom(new InternetAddress("*******5602@163.com")); // 設置郵件的發件人mess.setRecipients(Message.RecipientType.TO, to); // 設置收件人mess.setSubject(title); // 設置郵件標題mess.setContent(content, "text/html;charset=utf-8"); // 設置郵件內容和格式// 5、發送郵件Transport.send(mess);} catch (MessagingException e) {e.printStackTrace();return "發送郵件失敗, 原因:" + e.getMessage();}return "發送郵件成功!接收人:" + to;}public static void main(String[] args) {//接收人 郵件主題 郵件內容String mess = sendMail("*******5602@163.com", "測試郵件", "<h1>這是一封測試郵件,來自Java客戶端程序</h1>");System.out.println(mess); //控制臺輸出返回消息}}

運行:

【相關資料學習】

Java中Properties類的操作
Java Mail 發送郵件之——簡單實現
如果有異常出現,參考博客535 authentication failed的問題

總結

以上是生活随笔為你收集整理的Java 发送163邮件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。