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

歡迎訪問 生活随笔!

生活随笔

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

java

手把手教你实现Java发送邮件(1)-发送简单的文本

發布時間:2024/7/19 java 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 手把手教你实现Java发送邮件(1)-发送简单的文本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

說明:本博客已經收藏至我的gitee中的code_demo倉庫(點擊此鏈接跳轉)中,且gitee中有相應的代碼~ 歡迎訪問~~
不僅僅是code,還有一些通俗的講解哦~

文章目錄

  • 一、Java實現郵件發送
  • 二、Java發送郵件
    • Java實現純文本郵件發送

一、Java實現郵件發送

一、郵件服務器與傳輸協議

  • 要在網絡上實現郵件功能,必須要有專門的郵件服務器。這些郵件服務器類似于現實生活中的郵局,它主要負責接收用戶投遞過來的郵件,并把郵件投遞到郵件接收者的電子郵箱中。

  • SMTP服務器地址:一般是 smtp.xxx.com,比如163郵箱是smtp.163.com,qq郵箱是smtp.qq.com。

SMTP協議

通常把處理用戶smtp請求(郵件發送請求)的服務器稱之為SMTP服務器(郵件發送服務器)。

POP3協議

通常把處理用戶pop3請求(郵件接收請求)的服務器稱之為POP3服務器(郵件接收服務器)。

二、Java發送郵件


使用到的jar包:

  • mail.jar
  • activation.jar

QQ郵箱需獲取相應的權限:

QQ郵箱–>郵箱設置–>賬戶–>POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務 開啟POP3/SMTP服務,然后獲取16位授權碼(注意不要將授權碼泄露,一個賬戶可以擁有多個授權碼)

注意事項:

  • 要注意下授權碼只能生成一次,如果想再看的話只能關掉然后再次重新開啟。
  • 紅框里有兩個可以選擇,如果是第一個的話,POP3/SMTP服務,讀取郵件之后郵件服務器就會刪除該郵件,IMAP/SMTP服務的話,讀取郵件之后郵件服務器仍然會保存郵件哦~
  • Java實現純文本郵件發送

    最終效果:

    import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.util.Properties;/*** @Description* @Author yang_tao* @Date 2020-05-11 16:56*/ public class _01_Mail_Simple {private static final String USER = "你的郵箱"; // 發件人稱號,同郵箱地址private static final String PASSWORD = "你的授權碼"; // 如果是qq郵箱可以使戶端授權碼,或者登錄密碼/**** @param to 收件人郵箱* @param text 郵件正文* @param title 標題*//* 發送驗證信息的郵件 */public static boolean sendMail(String to, String text, String title){try {//第一步:創建配置文件,保存并讀取信息final Properties props = new Properties();// 1.設置用戶是否需要驗證props.put("mail.smtp.auth", "true");// 2.設置qq郵件服務器props.put("mail.smtp.host", "smtp.qq.com");// 發件人的賬號props.put("mail.user", USER);//發件人的密碼props.put("mail.password", PASSWORD);// 構建授權信息,用于進行SMTP進行身份驗證Authenticator authenticator = new Authenticator() {@Overrideprotected 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);// 設置發件人String username = props.getProperty("mail.user");InternetAddress form = new InternetAddress(username);message.setFrom(form);// 設置收件人InternetAddress toAddress = new InternetAddress(to);message.setRecipient(Message.RecipientType.TO, toAddress);// 設置郵件標題message.setSubject(title);// 設置郵件的內容體,為防止亂碼問題這里參數2將文本類型和字符編碼設置message.setContent(text, "text/html;charset=UTF-8");// 獲取連接對象,通過session對象獲取transport對象// 發送郵件Transport.send(message);return true;}catch (Exception e){e.printStackTrace();}return false;} }

    單元測試:

    import org.junit.Test;/*** @Description* @Author yang_tao* @Date 2020-05-11 18:56*/ public class _01_JavaWeb_Mail_test {/*** 測試帶郵件發送*/@Testpublic void sendMailTest(){// 這個方法接收三個參數,第一個是收件人,第二個是郵件內容,第三個是郵件標題_01_Mail_Simple.sendMail("208820388@qq.com","你好,這是一封測試郵件,無需回復。","測試郵件");} }

    參考博文

  • Java實現郵件發送
  • 總結

    以上是生活随笔為你收集整理的手把手教你实现Java发送邮件(1)-发送简单的文本的全部內容,希望文章能夠幫你解決所遇到的問題。

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