最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaMail實現(xiàn)簡單郵件發(fā)送

 更新時間:2022年08月10日 15:30:10   作者:扭不開瓶蓋的三水  
這篇文章主要為大家詳細介紹了JavaMail實現(xiàn)簡單郵件發(fā)送,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了JavaMail實現(xiàn)簡單郵件發(fā)送的具體代碼,供大家參考,具體內(nèi)容如下

簡單郵件

即純文本郵件,沒有除文字以外的其他所有文件。

傳輸協(xié)議

  • SMTP協(xié)議

全稱為 Simple Mail Transfer Protocol,簡單郵件傳輸協(xié)議。它定義了郵件客戶端軟件和SMTP郵件服務器之間,以及兩臺SMTP郵件服務器之間的通信規(guī)則。

  • POP3協(xié)議

全稱為 Post Office Protocol,郵局協(xié)議。它定義了郵件客戶端軟件和POP3郵件服務器的通信規(guī)則。

郵件發(fā)送原理

①SMTP郵件服務器:替用戶發(fā)送郵件和接收外面發(fā)送給本地用戶的郵件。

②POP3/IMAP郵件服務器:幫助用戶讀取SMTP郵件服務器接收進來的郵件。

③申請郵箱其實就是在郵箱的文件系統(tǒng)中申請一塊地址,用來存放用戶的郵件。

實現(xiàn)郵件發(fā)送需要使用的類

①JavaMail API(mail.jar)

②Java Activation Framework(activation.jar)

準備工作

開啟郵箱的POP3和SMTP服務,并獲取授權(quán)碼。

步驟

①準備參數(shù)

如設置郵件服務器(網(wǎng)易的是smtp.163.com),郵件發(fā)送協(xié)議等。

②獲取Session對象

③獲取傳輸對象transport

④登錄授權(quán)

⑤寫郵件

⑥發(fā)郵件

⑦關閉服務器資源

代碼實現(xiàn)

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

//發(fā)送簡單郵件
public class test1 {
? ? public static void main(String[] args) throws MessagingException {
? ? ? ? Properties properties=new Properties();
? ? ? ? properties.setProperty("mail.host","smtp.163.com");//設置郵件服務器
? ? ? ? properties.setProperty("mail.transport.protocol","smtp");//郵件發(fā)送協(xié)議
? ? ? ? properties.setProperty("mail.smtp.auth","true");//需要驗證用戶名密碼

? ? ? ? //使用JavaMail發(fā)送郵件的5個步驟
? ? ? ? //1、創(chuàng)建定義整個應用程序所需的環(huán)境信息的 Session 對象
? ? ? ? Session session = Session.getInstance(properties);
? ? ? ? //開啟Session的debug模式,這樣就可以查看到程序發(fā)送Email的運行狀態(tài)
? ? ? ? session.setDebug(true);
? ? ? ? //2、通過session得到transport對象
? ? ? ? Transport transport = session.getTransport();
? ? ? ? //3、使用郵箱的用戶名和授權(quán)碼連上郵件服務器,發(fā)送郵件時, 發(fā)件人需要提交郵箱的用戶名和密碼給smtp服務器,用戶名和密碼都通過驗證之后才能夠正常發(fā)送郵件給收件人。
? ? ? ? transport.connect("smtp.163.com",用戶名,授權(quán)碼);
? ? ? ? //4、創(chuàng)建郵件
? ? ? ? //創(chuàng)建一個郵件對象
? ? ? ? MimeMessage message=new MimeMessage(session);
? ? ? ? //指明郵件的發(fā)件人
? ? ? ? message.setFrom(new InternetAddress(發(fā)件人郵箱));
? ? ? ? //指明收件人
? ? ? ? message.setRecipient(Message.RecipientType.TO,new InternetAddress(收件人郵箱));
? ? ? ? //郵件標題
? ? ? ? message.setSubject("簡單郵件發(fā)送");
? ? ? ? //郵件的文本內(nèi)容
? ? ? ? message.setText("這是一封簡單的郵件");
? ? ? ? //5、發(fā)送郵件
? ? ? ? transport.sendMessage(message,message.getAllRecipients());
? ? ? ? //關閉連接
? ? ? ? transport.close();
? ? }
}

運行結(jié)果

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java  隊列實現(xiàn)原理及簡單實現(xiàn)代碼

    Java 隊列實現(xiàn)原理及簡單實現(xiàn)代碼

    這篇文章主要介紹了Java 隊列實現(xiàn)原理及簡單實現(xiàn)代碼的相關資料,需要的朋友可以參考下
    2016-10-10
  • SpringMVC日期類型接收空值異常問題解決方法

    SpringMVC日期類型接收空值異常問題解決方法

    這篇文章主要介紹了SpringMVC日期類型接收空值異常問題解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • Java?C++分別實現(xiàn)滑動窗口的最大值

    Java?C++分別實現(xiàn)滑動窗口的最大值

    這篇文章主要介紹了分別通過Java和C++實現(xiàn)滑動窗口最大值,即給定一個數(shù)組?nums?和滑動窗口的大小?k,請找出所有滑動窗口里的最大值。感興趣的可以了解一下
    2021-12-12
  • SpringBoot integration實現(xiàn)分布式鎖的示例詳解

    SpringBoot integration實現(xiàn)分布式鎖的示例詳解

    常規(guī)項目都是采用Redission來實現(xiàn)分布式鎖,進行分布式系統(tǒng)中資源競爭加鎖操作,偶然發(fā)現(xiàn)SpringBoot中的integration也實現(xiàn)多種載體的分布式鎖控制,下面我們就來看看具體實現(xiàn)方法吧
    2023-12-12
  • 詳解springmvc攔截器攔截靜態(tài)資源

    詳解springmvc攔截器攔截靜態(tài)資源

    本篇文章主要介紹了詳解springmvc攔截器攔截靜態(tài)資源,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-01-01
  • java使用wait和notify實現(xiàn)線程通信

    java使用wait和notify實現(xiàn)線程通信

    這篇文章主要為大家詳細介紹了java如何使用wait和notify實現(xiàn)線程之間通信,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-10-10
  • MyBatis中執(zhí)行相關SQL語句的方法

    MyBatis中執(zhí)行相關SQL語句的方法

    本文主要介紹了MyBatis中執(zhí)行相關SQL語句的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-08-08
  • java實現(xiàn)微信紅包 拼手氣紅包

    java實現(xiàn)微信紅包 拼手氣紅包

    這篇文章主要為大家詳細介紹了java實現(xiàn)微信紅包,拼手氣紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • Redis之SpringDataRedis用法詳解

    Redis之SpringDataRedis用法詳解

    這篇文章主要介紹了Redis之SpringDataRedis的用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Java利用future及時獲取多線程運行結(jié)果

    Java利用future及時獲取多線程運行結(jié)果

    在Java編程中,有時候會需要及時獲取線程的運行結(jié)果,本文就通過一個相關實例向大家介紹Java利用future及時獲取線程運行結(jié)果的方法,需要的朋友可以參考。
    2017-10-10

最新評論

祁门县| 曲松县| 临桂县| 老河口市| 桐乡市| 乌兰浩特市| 穆棱市| 化德县| 张家口市| 兰溪市| 龙胜| 大埔区| 柳州市| 石泉县| 宜阳县| 新营市| 梨树县| 江西省| 唐海县| 昌江| 德惠市| 平舆县| 嘉峪关市| 成安县| 萨迦县| 郑州市| 民县| 万山特区| 商南县| 嵊泗县| 富源县| 江油市| 资源县| 大厂| 滨州市| 广河县| 枝江市| 徐汇区| 英吉沙县| 邹平县| 忻城县|