ホームページ  >  記事  >  Java  >  Java での電子メールの転送

Java での電子メールの転送

WBOY
WBOYオリジナル
2024-08-30 15:56:10311ブラウズ

次の記事では、Java での電子メール転送の概要を説明します。 javamail API は、多くの javamail クラスで使用できる電子メールの送受信に使用できます。リソース学習先へのメール転送操作を行うために使用されます。 javamail API には、mail.jar と activity.jar の 2 つの jar が含まれています。これらのjarを利用しながらメールデータの通信が行われます。ご本人が不在の場合は自動返信させていただきます。

javamail API と、mail.jar やアクティベーションなどの 2 つの特定の jar を理解すると、宛先リソースへのメール転送操作を実行するために、さまざまな javamail クラスの電子メールを送受信することができます。これらの jar を使用すると、メール データが送信され、受信者が不在の場合は自動応答が送信されます。そうすれば、電子メールやメッセージを転送したいときにいつでも転送できます。単一または複数の電子メールを迅速に転送するために使用されます。次に、メッセージの転送と同様に、もう少し作業が必要になります。 JavaMail API を使用してメール メッセージを構成するさまざまなセクションのメッセージを送信しているため、この操作を実行するために呼び出す関数は 1 つだけではありません。すべてのコンポーネントには独自のボディ部分があり、MIME メッセージを操作する場合の MIME ボディ部分でもあります。

Java での電子メールの転送

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

重要なポイント

  • 当社は電子メールを送信する際、受信したメールを別の人に転送する場合があります。
  • メッセージは、さまざまな Javamail クラスを使用してターゲット リソースに転送されます。
  • この例を読んで理解する前に、JavaMail API の電子メール送信段階について学習してください。
  • JavaMail API を使用して電子メールを送受信するには、mail.jar と activity.jar という 2 つの jar ファイルをロードする必要があります。
  • Simple Java Mail を使用すると、メールを簡単に送信できます。まず、EmailBuilder を使用して電子メール オブジェクトを生成します。

Java でのメール転送の使用

この問題には、1 つのメール サーバーからメールを読み取り、同じアプリケーション内で同じメッセージを別のメール アドレスに配信することが含まれます。これを実現するには、読み取りと送信の両方に Java Mail API を使用します。 2 つのステップのホストが異なる場合は、属性を慎重に更新する必要があります。企業はコミュニケーションにさまざまなチャネルを使用するため、すべてのメッセージを検索可能なアーカイブ内の 1 か所にまとめておくと有益です。 SMS メッセージを電子メールに転送するときに、両方のタイプのテキストを 1 か所に保存できます。 Plivo は、最も一般的な Web 開発言語を使用して、SMS メッセージを電子メールに転送することをより簡単にします。 plivo はツールの 1 つで、メール操作やその他の通信を行うための API です。

Simple Java Mail を使用して電子メールを送信するのは非常に簡単です。最初のステップは、EmailBuilder を使用して電子メール オブジェクトを構築することです。次に、電子メールを送信するには、MailerBuilder を使用してメーラー オブジェクトを作成し、その電子メール オブジェクトを mailer オブジェクトに提供する必要があります。リストされている設定に加えて、Simple Java Mail は電子メールとメーラーの追加の構成オプションを提供します。ユーザーにアプリケーション イベントと電子メール送信機能を通知する必要があります。これは、すべての大規模な顧客志向のアプリにとって必須です。これは、特にアカウントのアクティベーション、パスワードの変更、その他のユーザー認証などのイベント駆動型の通知を送信する場合に、各ユーザーと対話するためのシンプルで手頃な価格のユーザーフレンドリーな方法です。その結果、プレーンテキストによる簡単な通知から、リンクやその他のいくつかの添付ファイルによる詳細なレポートに至るまで、各エンドユーザーとの非同期通信の一般的な方法となっています。

JavaMail API のステップバイステップ転送

  • Session オブジェクトの属性にアクセスして、POP および SMPT サーバー情報を表示します。 POP 情報はメッセージの取得に必要であり、SMPT 情報はメッセージの送信に必要です。
  • POP3 ストア オブジェクトを作成した後、ストアに接続します。
  • フォルダー オブジェクトを作成した後、メール内の関連フォルダーを開きます。
  • メッセージを取り消します。
  • メッセージを転送したい場合は、メッセージを 1 つずつ確認し、「Y」または「y」と入力します。
  • メッセージの完全な詳細 (宛先、差出人、件名、内容) を取得します。
  • メッセージのコンポーネントを利用して、転送メッセージを構築します。メッセージのテキストが最初のセクションとなり、転送するメッセージが 2 番目のセクションになります。 2 つを組み合わせてマルチパートにします。マルチパートは、送信前に適切にアドレス指定されたメッセージに添付されます。

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 での電子メールの転送

よくある質問

以下に挙げる FAQ を示します。

Q1. Java でのメールの転送とは何ですか?

答え: Java API を使用して、1 つの電子メール アドレスに配信された電子メール メッセージを 1 つ以上の追加の電子メール アドレスに送信するプロセスは、電子メール転送として知られています。

Q2. Java でのメール転送はどのように機能しますか?

答え: メッセージは、さまざまな Javamail クラスを使用してターゲット リソースに転送されます。 JavaMail API を使用して電子メールを送受信するには、次の 2 つの jar ファイルをロードする必要があります。

  • mail.jar
  • アクティベーション.jar

Q3.転送メールで使用されるプロトコルは何ですか?

答え: 以下は、メールの転送で使用されるプロトコルです。

SMTP
ポップ
IMAP
マイム

結論

受信者が最初から電子メール チェーンに参加していなかった場合でも、受信者は電子メールを転送することで電子メールを見ることができます。さらに、電子メール メッセージを転送する場合、そのメッセージを元のコンテンツ、形式、添付ファイルのすべてとともに別の個人または組織に送信します。 Java API を使用すると、これを実現できます。

以上がJava での電子メールの転送の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:Java テスト JUnit次の記事:Java テスト JUnit