Java での電子メールの受信は、MimeMessage、Session、および Transport クラスと組み合わせて使用される Store クラスと Folder クラスです。これは、電子メールを受信し、JavaMail API の電子メール送信段階を学習するために使用されます。 emailreceive テスト クラスは、近くの電子メール サーバーとアカウントのメールに接続して表示し、ホスト構成ファイル内のホスト名と、優先メール ストア プロトコル タイプである Pop3 の IP アドレスを示します。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
JavaMail API の電子メール送信段階について学習するために、emailreceive テスト クラスは近くの電子メール サーバーに接続し、アカウントの電子メールに接続し、それらを表示してホストの構成ファイル内のホスト名の IP アドレスを強調表示します。また、pop3 は優先されるメール ストア プロトコル タイプです。
電子メールの受信は、Store クラスと Folder クラスを MimeMessage、Session、および Transport クラスと組み合わせて使用して行われます。プログラムは電子メール メッセージを HTTP リクエストとして受信します。受信電子メール メッセージを処理するには、アプリケーション セットアップで電子メール アドレスをサーブレットに関連付ける必要があり、その後 Web アプリにサーブレット コードを含める必要があります。適切なサーブレットは、受信電子メールから HTTP リクエストを受信して、リクエストを処理し、応答を送信します。
Java Mail API を使用して電子メールを送信することを検討しました。学習するプロトコルは 1 つ (SMTP) だけなので、電子メールの送信はかなり簡単でした。ただし、受信に使用されるプロトコルは POP3 と IMAP の 2 つです。より伝統的な POP3 プロトコルでは、メール メッセージの 1 つのキューを持つ 1 つの受信ボックスが提供されます。最新の標準である IMAP では、メールがフォルダー階層内のエントリとして表示され、そのうちの 1 つが受信トレイになります。
POP3 および IMAP プロバイダーの実装と、それらの安全な対応物である POP3S および IMAPS は、Java Mail に含まれています。
JavaMail API を使用して電子メールを送信するには、次の 2 つの 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 バックエンドのみを提供しており、このテクノロジーを読み取りと送信に使用できるようにしています。ニュースグループの記事。
以下に挙げる例を示します:
コード:
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); } }
出力:
説明:
以下に挙げる FAQ を示します:
答え:
JavaMail API を使用して、基礎となるプロトコルで基本的な電子メールを取得または受信することは、この層にはまったく関係ありません。
答え:
IMAP はメッセージを受信するための高度なプロトコルです。
答え:
プログラムは電子メール メッセージを HTTP リクエストとして受信します。受信電子メール メッセージを処理するには、アプリケーション セットアップで電子メール アドレスをサーブレットに関連付ける必要があり、アプリにサーブレット コードを含める必要があります。その後、適切なサーブレットが受信メールから HTTP リクエストを受信して処理します。
以上がJava で電子メールを受信するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。