首頁 > Java > java教程 > Java接收郵件

Java接收郵件

WBOY
發布: 2024-08-30 15:56:47
原創
975 人瀏覽過

Java中接收電子郵件是Store和Folder類別與MimeMessage、Session和Transport類別結合使用。它用於接收電子郵件和學習 JavaMail API 的電子郵件發送階段。 emailreceive 測試類別將與附近的電子郵件伺服器和帳戶的郵件進行聯繫,並顯示它們以指出主機設定檔中的主機名稱和 pop3 的 IP 位址,這是首選的郵件儲存協定類型。

Java接收郵件

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

要點

  • 使用 JavaMail API 時,使用 Store 和資料夾類別接收電子郵件。
  • 可以使用 Java API 發送和接收電子郵件。底層協定與這一層完全無關。
  • 使用 Session 類別的 getDefaultInstance() 或 getInstance() 方法來取得會話實例。產生 POP3 商店物件並連結到流行商店。
  • 對儲存物件執行 getFolder() 方法後,建立資料夾物件並在郵箱中開啟它。
  • 從資料夾物件取得訊息。
  • 鎖定資料夾並將物品收好。

什麼是Java中的接收電子郵件?

要了解JavaMail API 的電子郵件發送階段,emailreceive 測試類別將與附近的電子郵件伺服器聯繫,連接到帳戶的電子郵件,並顯示它們以突出顯示主機設定檔中主機名的IP 位址pop3 是首選的郵件儲存協定類型。

接收電子郵件是使用 Store 和資料夾類別以及 MimeMessage、Session 和 Transport 類別來完成的。該程式接收電子郵件作為 HTTP 請求。我們必須在應用程式設定中將電子郵件地址與 servlet 相關聯,以便處理傳入的電子郵件訊息,然後必須將 servlet 程式碼包含在 Web 應用程式中。正確的 servlet 從傳入電子郵件接收 HTTP 請求來處理請求並傳送回應。

在 Java 類別中建立接收電子郵件

我們已經研究了使用 Java Mail API 發送電子郵件。由於只需學習一種協定(SMTP),發送電子郵件就相當簡單了。不過,POP3 和 IMAP 是用於接收的兩種協定。更傳統的 POP3 協定提供一個帶有單一郵件訊息佇列的收件匣。最新的標準 IMAP 將郵件顯示為資料夾層次結構中的條目,其中一個是收件匣。

接收郵件的流程

  • 定義郵件屬性,使用屬性類別來定義協定和郵件伺服器。
  • 使用我們已經定義的屬性來建立會話來閱讀這封信。
  • 建立連線並建立儲存來讀取訊息。
  • 定義並開啟我們需要讀取的資料夾,並且應開啟唯讀資料夾。
  • 查看所選資料夾中未讀的內容並將結果保存在訊息數組中。
  • 然後顯示訊息。

JavaMail 中的兩個 Jar 檔案

POP3 和 IMAP Provider 實現,以及它們的安全對應項 POP3S 和 IMAPS,都包含在 Java Mail 中。

我們必須載入以下兩個 jar 檔案才能使用 JavaMail API 發送電子郵件:

Java接收郵件

  • mail.jar
  • 啟動.jar

我們可以將完全免費且開源的 JavaMail API 實作合併到產品中。此版本還具有 SMTP、POP3 和 IMAP 提供者的功能。名為 Jakarta Mail 的 Jakarta EE API 主要用於透過 SMTP、POP3 和 IMAP 協定發送和接收電子郵件。 Java EE 平台包含內建版本的 Jakarta Mail,但 Java SE 使用者也可以使用額外的軟體包。在最近幾個月發布的最新版本中,還有另一個開源Java Mail 實作(即GNU JavaMail),僅支援JavaMail 規範的1.3 版本,但僅提供免費的NNTP 後端,因此可以使用該技術進行閱讀和發送新聞群組文章。

  • Mail.jar:我們可以將完全免費且開源的 JavaMail API 實作合併到產品中。此外,此 jar 版本中還包含 IMAP、POP3 和 SMTP 提供者。
  • Activation.jar: JavaBeans Activation Framework 類別包含在此 JAR(Java 檔案)檔案中。演示:一系列簡單的不受支援的演示,這些演示利用了可以在此目錄中找到的多個 JAF 功能。包含 JAF 公共類別的 Javadoc API 描述的目錄用作文檔。

Java接收郵件範例

下面給出的是提到的例子:

代碼:

package TestNG;
import java.io.IOException;
import java.util.Properties;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import javax.mail.Store;
import com.sun.mail.pop3.POP3Store;
public class NewTest{
public static void receiveEmail(String hst, String stype,
String user, String password) {
try {
Properties props = new Properties();
props.put("mail.store.protocol", "pop3");
props.put("mail.pop3s.host", hst);
props.put("mail.pop3s.port", "995");
props.put("mail.pop3.starttls.enable", "true");
Session sess = Session.getDefaultInstance(props);
Store st = sess.getStore("pop3s");
st.connect(hst, user, password);
Folder emailFolder = st.getFolder("INBOX");
emailFolder.open(Folder.READ_ONLY);
Message[] messages = emailFolder.getMessages();
for (int i = 0; i < messages.length; i++) {
Message message = messages[i];
System.out.println("Welcome To Email");
System.out.println("Email Number " + (i + 1));
System.out.println("Subject: " + message.getSubject());
System.out.println("From: " + message.getFrom()[0]);
System.out.println("Text: " + message.getContent().toString());
}
emailFolder.close(false);
st.close();
} catch (NoSuchProviderException e) {e.printStackTrace();}
catch (MessagingException e) {e.printStackTrace();}
catch (IOException e) {e.printStackTrace();}
}
public static void main(String[] args) {
String host = "pop.gmail.com";
String stypes = "pop3";
String username= "[email protected]";
String password= "xodbizaoiqijifre";
receiveEmail(host, stypes, username, password);
}
}
登入後複製

輸出:

Java接收郵件

說明:

  • 在上面的範例中,我們用於從 java 郵件服務接收電子郵件。
  • 這裡使用store、pop3和其他smtp服務來連接特定的郵件使用者。
  • 使用Folder和Messages[]陣列是為了建立實例並儲存特定時間的資料。
  • 循環迭代資料並驗證所需條件,最後列印所有資料。
  • main 方法將呼叫該方法,並再次建立連線實例來執行此操作。

常見問題

以下是提到的常見問題:

Q1。定義Java接收電子郵件。

答案:

使用 JavaMail API 檢索或接收具有底層協定的基本電子郵件與此層完全無關。

Q2。 java接收郵件使用哪些協定?

答案:

  • IMAP
  • POP3

其中IMAP是一種用於接收訊息的高階協定。

Q3。我怎麼才能收到Java電子郵件?

答案:

  • 取得會話物件。
  • 連接到 pop 伺服器並建構 POP3 或 store 物件。
  • 建立資料夾物件後打開它。
  • 列印您從資料夾中檢索到的訊息陣列。
  • 關閉資料夾並儲存物件。

結論

程式接收電子郵件作為 HTTP 請求。我們必須在應用程式設定中將電子郵件地址與 servlet 關聯起來,以便處理傳入的電子郵件訊息,我們應該在應用程式中包含 servlet 程式碼。然後,適當的 Servlet 接收來自傳入電子郵件的 HTTP 請求並處理它們。

以上是Java接收郵件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板