中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java?Email郵件發送如何實現

發布時間:2022-11-07 09:17:34 來源:億速云 閱讀:157 作者:iii 欄目:開發技術

今天小編給大家分享一下Java Email郵件發送如何實現的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

    一、郵件協議

    MTA 和 MDA 這樣的服務器軟件通常是現成的,我們通常不會關心這些郵件服務器的內部是如何運行 的。更多的需求場景,是需要發送郵件。例如:促銷商品郵件、驗證碼郵件、消息通知郵件等。常見的 郵件協議有: POP3 、 SMTP 、 IMAP 。

    1.POP3

    POP3是Post Office Protocol 3的簡稱,即郵局協議的第3個版本,它規定怎樣將個人計算機連接到Internet的郵件 服務器和下載電子郵件的電子協議。它是因特網電子郵件的第一個離線協議標準,POP3允許用戶從服務器上把 郵件存儲到本地主機(即自己的計算機)上,同時刪除保存在郵件服務器上的郵件,而POP3服務器則是遵循 POP3協議的接收郵件服務器,用來接收電子郵件的。

    2.SMTP

    SMTP 的全稱是“Simple Mail Transfer Protocol”,即簡單郵件傳輸協議。它是一組用于從源地址到目的地址傳 輸郵件的規范,通過它來控制郵件的中轉方式。SMTP 協議屬于 TCP/IP 協議簇,它幫助每臺計算機在發送或中 轉信件時找到下一個目的地。SMTP 服務器就是遵循 SMTP 協議的發送郵件服務器。 SMTP 認證,簡單地說就是要求必須在提供了賬戶名和密碼之后才可以登錄 SMTP 服務器,這就使得那些垃圾 郵件的散播者無可乘之機。 增加 SMTP 認證的目的是為了使用戶避免受到垃圾郵件的侵擾。

    3.IMAP

    IMAP全稱是Internet Mail Access Protocol,即交互式郵件存取協議,它是跟POP3類似郵件訪問標準協議之 一。不同的是,開啟了IMAP后,您在電子郵件客戶端收取的郵件仍然保留 在服務器上,同時在客戶端上的操作 都會反饋到服務器上,如:刪除郵件,標記已讀等,服務器上的郵件也會做相應的動作。所以無論從瀏覽器登 錄郵箱或者客戶端 軟件登錄郵箱,看到的郵件以及狀態都是一致的。

    4.IMAP和POP3有什么區別

    • POP3協議允許電子郵件客戶端下載服務器上的郵件,但是在客戶端的操作(如移動郵件、標記 已讀等),不會反饋到服務器上,比如通過客戶端收取了郵箱中的3封郵件并移動到其他文件夾,郵 箱服務器上的這些郵件是沒有同時被移動的 。

    • IMAP提供webmail 與電子郵件客戶端之間的雙向通信,客戶端的操作都會反饋到服務器上,對 郵件進行的操作,服務器上的郵件也會做相應的動作。 IMAP和POP3有什么區別?

    二、發送郵件

    發送郵件時,我們需要構造一個 Message 對象,然后調用 Transport.send(Message) 即可完成發送:絕 大多數郵件服務器要求發送方地址和登錄用戶名必須一致,否則發送將失敗。

    package com.ljl.email;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    import javax.mail.MessagingException;
    import javax.mail.Multipart;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeBodyPart;
    import javax.mail.internet.MimeMessage;
    import javax.mail.internet.MimeMultipart;
    import javax.mail.util.ByteArrayDataSource;
    import javax.activation.DataHandler;
    import javax.mail.BodyPart;
    import javax.mail.Message.RecipientType;
    public class Demo03 {
    	public static void main(String[] args) {
    		try {
    			//創建Session會話
    			Session session = JavaMailUtils.createSession();
    			//創建郵件對象(Message抽象類的子類對象)
    			MimeMessage msg = new MimeMessage(session);
    			msg.setFrom(new InternetAddress("olaiolaio@126.com"));
    			msg.setRecipient(RecipientType.TO ,new InternetAddress("2272789133@qq.com"));
    			msg.setSubject("這是一份測試郵件","utf-8");//標題
    			//郵件內容復合對象
    			Multipart multipart = new MimeMultipart();
    			//正文
    			BodyPart textPart = new MimeBodyPart();
    			//參數一:正文內容
    			//參數二:內容類型;字符編碼機
    			textPart.setContent("輸了<b>你</b>贏了世界又如何","text/html;charset=utf-8");
    			//附件
    			BodyPart imagePart = new MimeBodyPart();
    			imagePart.setFileName("lin.jpg");
    			imagePart.setDataHandler(new DataHandler(new ByteArrayDataSource(Files.readAllBytes(Paths.get("D:\\k\\image\\ljj.jpg")), "application/octet-stream")));
    			//添加至郵件內容
    			multipart.addBodyPart(textPart);//添加正文
    			multipart.addBodyPart(imagePart);//添加附件
    			//設置郵件內容
    			msg.setContent(multipart);
    			//發送
    			Transport.send(msg);
    		} catch (MessagingException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    }

    Java?Email郵件發送如何實現

    以上就是“Java Email郵件發送如何實現”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    阜平县| 讷河市| 松江区| 宝清县| 临江市| 广汉市| 新和县| 灵山县| 志丹县| 鹤庆县| 黄浦区| 汽车| 富蕴县| 安康市| 邢台县| 通辽市| 会昌县| 定日县| 兴城市| 晋州市| 合山市| 大洼县| 平阳县| 隆德县| 武汉市| 和顺县| 公安县| 时尚| 盐城市| 博兴县| 文水县| 阿克苏市| 原平市| 永年县| 崇信县| 清徐县| 张掖市| 揭东县| 敦化市| 满洲里市| 高陵县|