Javamail-api-deleting-emails
提供:Dev Guides
JavaMail API-メールの削除
この章では、JavaMail APIを使用して電子メールを削除する方法を説明します。 メッセージの削除には、メッセージに関連付けられたフラグの操作が含まれます。 状態ごとに異なるフラグがあり、システム定義のものとユーザー定義のものがあります。 定義済みのフラグは、内部クラスFlags.Flagで定義されており、以下にリストされています。
- Flags.Flag.ANSWERED
- Flags.Flag.DELETED
- Flags.Flag.DRAFT
- Flags.Flag.FLAGGED
- Flags.Flag.RECENT
- Flags.Flag.SEEN
- Flags.Flag.USER
POPプロトコルは、メッセージの削除のみをサポートします。
削除プログラムで実行される基本的な手順は次のとおりです。
- プロパティでPOPおよびSMPTサーバーの詳細を含むSessionオブジェクトを取得します。 メッセージを取得するにはPOPの詳細が、メッセージを送信するにはSMPTの詳細が必要です。
- POP3ストアオブジェクトを作成し、ストアに接続します。
- Folderオブジェクトを作成し、READ_WRITEモードでメールボックスの適切なフォルダーを開きます。
- 受信トレイフォルダーからメッセージを取得します。
- メッセージを繰り返し処理し、MessageオブジェクトでメソッドsetFlag(Flags.Flag.DELETED、true)を呼び出してメッセージを削除する場合は「Y」または「y」を入力します。
- DELETEDとマークされたメッセージは、Folderオブジェクトでexpunge()メソッドを呼び出すか、expungeをtrueに設定してフォルダーを閉じるまで、実際には削除されません。
- ストアオブジェクトを閉じます。
Javaクラスを作成する
Javaクラスファイル ForwardEmail を作成します。その内容は次のとおりです。
'_ステートメント_emailSession.setDebug(true); _のコメントを外すことで、デバッグをオンに設定できます。_
コンパイルして実行する
クラスの準備ができたので、上記のクラスをコンパイルしましょう。 クラスDeleteEmail.javaをディレクトリ /home/manisha/JavaMailAPIExercise に保存しました。 クラスパスに_javax.mail.jar_および_activation.jar_のjarが必要です。 以下のコマンドを実行して、コマンドプロンプトからクラス(両方のjarが/home/manisha/ディレクトリに配置されます)をコンパイルします。
クラスがコンパイルされたので、次のコマンドを実行して実行します。
出力を検証する
コマンドコンソールに次のメッセージが表示されます。