首頁 >Java >java教程 >在Java中轉發電子郵件

在Java中轉發電子郵件

WBOY
WBOY原創
2024-08-30 15:56:10362瀏覽

以下文章提供了在 Java 中轉發電子郵件的概述。 javamail API 可用於傳送和接收可供許多 javamail 類別使用的電子郵件。它用於執行到資源學習目的地的郵件轉送操作。 javamail API 包括兩個jar:mail.jar 和activation.jar。使用這些 jar 時將會傳送郵件資料。如果相關人員不在場,則會發出自動回覆。

了解javamail API和兩個特定的jar(例如mail.jar和activation)可用於發送和接收許多不同javamail類別的電子郵件,以完成將郵件轉發到目標資源的操作。使用這些 jar 時,會發送郵件數據,如果收件者不存在,則會發送自動回應。然後,每當我們想要轉發電子郵件或訊息時,我們就可以。它用於快速轉發單封或多封電子郵件。然後就是多一點工作,還有訊息轉發。我們正在使用 JavaMail API 傳輸可能組成郵件訊息的各個部分的訊息,因此不僅僅需要呼叫函數來執行此操作。每個元件都有自己的主體部分,它也是處理 MIME 訊息時的啞劇主體部分。

在Java中轉發電子郵件

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

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

要點

  • 當我們發送電子郵件時,我們可能會將收到的郵件轉發給其他人。
  • 使用各種 Javamail 類別將訊息轉送到目標資源。
  • 在閱讀此範例以理解它之前,請先了解 JavaMail API 的電子郵件傳送階段。
  • 我們需要載入兩個名為 mail.jar 和activation.jar 的 jar 文件,以便使用 JavaMail API 發送或接收電子郵件。
  • 使用 Simple Java Mail 發送電子郵件非常簡單。首先,使用 EmailBuilder 產生電子郵件物件。

在 Java 中使用轉發電子郵件

這個問題涉及從一個郵件伺服器讀取郵件並將相同訊息傳遞到同一應用程式中的不同電子郵件地址。若要實現此目的,請使用 Java Mail API 進行讀取和傳送。如果兩個步驟的主機不同,則必須小心更新屬性。企業使用多種管道進行溝通,因此將所有訊息集中在可搜尋存檔中的一個位置可能會很有幫助。我們可以將兩種類型的文字保留在一處,同時將 SMS 訊息轉發到電子郵件。使用最受歡迎的 Web 開發語言,Plivo 讓將 SMS 訊息轉發到電子郵件變得更加簡單。 plivo 是其中一種工具,它是一個用於提供郵件操作和執行其他通訊的 API。

使用 Simple Java Mail 發送電子郵件非常簡單。第一步是使用 EmailBuilder 建構電子郵件物件。然後,為了發送電子郵件,我們必須使用 MailerBuilder 建立一個郵件程式對象,並將電子郵件對象提供給該郵件程式對象。除了列出的設定之外,Simple Java Mail 還提供了電子郵件和郵件程式的附加設定選項。我們需要通知用戶應用程式事件和電子郵件發送功能。對於所有大型且以客戶為導向的應用程式來說,這是必須的。這是一種與每個用戶互動的簡單、經濟且用戶友好的方式,特別是當我們想要發送事件驅動的通知(例如帳戶啟動、密碼更改和其他用戶驗證)時。因此,它現在是與每個最終用戶進行非同步通訊的常用方法,範圍從帶有純文字的簡單通知到帶有連結和其他多個附件的詳細報告。

逐步轉發 JavaMail API

  • 存取Session物件的屬性來查看POP和SMPT伺服器資訊。檢索訊息需要 POP 訊息,傳輸訊息需要 SMPT 訊息。
  • 建立 POP3 儲存物件後連接到儲存。
  • 建立資料夾物件後開啟電子郵件中的相關資料夾。
  • 回覆訊息。
  • 如果您想轉發訊息,請逐條查看訊息並寫上「Y」或「y」。
  • 取得訊息的完整詳細資料(收件者、寄件者、主題和內容)。
  • 利用訊息的組成部分,建構轉發訊息。訊息的文字將是第一部分,要轉發的訊息將是第二部分。兩者結合成一個多部分。然後,在發送之前,多部分會附加到適當尋址的訊息中。

Java 中轉發電子郵件的範例

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

代碼:

package TestNG;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Date;
import java.util.Properties;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
public class NewTest
{
public static void main(String [] args) throws Exception
{
Properties props = new Properties();
props.put("mail.store.protocol", "pop3");
props.put("mail.pop3s.host", "pop.gmail.com");
props.put("mail.pop3s.port", "995");
props.put("mail.pop3.starttls.enable", "true");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "25");
Session sess = Session.getDefaultInstance(props);
try {
Store store = sess.getStore("pop3s");
store.connect("pop.gmail.com", "[email protected]",
"xodbizaoiqijifre");
Folder folder = store.getFolder("inbox");
folder.open(Folder.READ_ONLY);
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in));
Message[] msgarr = folder.getMessages();
if (msgarr.length != 0) {
for (int i = 0, n = msgarr.length; i < n; i++) {
Message msgarrs = msgarr[i];
String from = InternetAddress.toString(msgarrs.getFrom());
if (from != null) {
System.out.println("From: " + from);
}
String msgrply = InternetAddress.toString(msgarrs
.getReplyTo());
if (msgrply != null) {
System.out.println("Reply the mail " + msgrply);
}
String tomsg = InternetAddress.toString(msgarrs
.getRecipients(Message.RecipientType.TO));
if (tomsg != null) {
System.out.println("To: " + tomsg);
}
String sub = msgarrs.getSubject();
if (sub != null) {
System.out.println("Mail Subject is: " + sub);
}
Date dsnt = msgarrs.getSentDate();
if (dsnt != null) {
System.out.println("Msg Sent: " + dsnt);
}
System.out.print("Do you want to reply [y/n] : ");
String str = reader.readLine();
if ("Y".equals(str) || "y".equals(str)) {
Message msgfwd = new MimeMessage(sess);
msgfwd.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(from));
msgfwd.setSubject("Fwd: " + msgarrs.getSubject());
msgfwd.setFrom(new InternetAddress(tomsg));
MimeBodyPart msgpart = new MimeBodyPart();
Multipart mpart = new MimeMultipart();
msgpart.setContent(msgarrs, "message/rfc822");
mpart.addBodyPart(msgpart);
msgfwd.setContent(mpart);
msgfwd.saveChanges();
Transport ts = sess.getTransport("smtp");
try {
ts.connect("[email protected]", "xodbizaoiqijifre");
ts.sendMessage(msgfwd, msgfwd.getAllRecipients());
} finally {
ts.close();
}
System.out.println("Your message is forwarded successfully");
folder.close(false);
store.close();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

輸出:

在Java中轉發電子郵件

常見問題

以下是提到的常見問題:

Q1。 java中的轉寄郵件是什麼?

答案:使用 Java API 將已傳送至一個電子郵件地址的電子郵件訊息傳送到一個或多個其他電子郵件地址的過程稱為電子郵件轉送。

Q2。 java 中如何轉送電子郵件?

答案:訊息使用各種 Javamail 類別轉送到目標資源。我們必須載入以下兩個 jar 檔案才能使用 JavaMail API 發送或接收電子郵件。

  • mail.jar
  • 啟動.jar

Q3。轉發電子郵件使用哪些協定?

答案:以下是轉發電子郵件所使用的協定。

SMTP
流行音樂
IMAP
MIME

結論

如果收件者原本不是電子郵件鏈的一部分,他們仍然可以透過將電子郵件轉發給他們來查看電子郵件。此外,當我們轉發電子郵件時,會將其連同其所有原始內容、格式和附件一起發送給不同的個人或組織。 Java API 將讓我們完成這個任務。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:Java 測試 JUnit下一篇:Java 測試 JUnit