Aspose.Email for Javaを使用すると、Microsoft Exchange Serverの電子メール、連絡先管理、予定表などのサービスを使用できます。前の投稿で、 Javaアプリケーション内からプログラムでMSExchangeServerから電子メールを読み取る方法。ただし、場合によっては、ExchangeServer上のあるフォルダーから別のフォルダーに電子メールを移動する必要があります。この記事では、JavaでMSExchangeServer上の特定のフォルダーに電子メールを移動する方法を学習します。
- MicrosoftExchangeServerで電子メールを移動するJavaAPI
- 既存の電子メールをMSExchangeServer上のフォルダーに移動する
- 新しい電子メールをMSExchangeServer上のフォルダに移動する
MicrosoftExchangeServerで電子メールを移動するJavaAPI
Aspose.Email for Javaは、複雑なコードを記述せずにMSExchangeServerと連携する強力な電子メールAPIです。この記事では、このAPIを使用して、MSExchangeServerのメールボックスの特定のフォルダーに電子メールを移動します。 APIをダウンロードするか、次のMaven構成を使用してインストールできます。
リポジトリ:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
依存:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>22.2</version>
<classifier>jdk16</classifier>
</dependency>
電子メールをJavaのMSExchangeServer上のフォルダに移動する
以下は、JavaのMSExchangeServer上の特定のフォルダに電子メールを移動する手順です。
- まず、ユーザー名、パスワード、ドメイン、およびURIを使用してIEWSClientオブジェクトを初期化します。
- 次に、IEWSClient.listMessages(IEWSClient.getMailboxInfo().getInboxUri())メソッドを使用して、ExchangeMessageInfoCollectionオブジェクト内の電子メールメッセージのリストを取得します。
- その後、各ExchangeMessageInfoメッセージをループして、必要なメッセージをフィルタリングします。
- 次に、ExchangeMessageInfo.getUniqueUri()メソッドを使用して、移動する電子メールメッセージのURIを取得します。
- 最後に、IEWSClient.copyItem(String URI、IEWSClient.getMailboxInfo().getOutboxUri())メソッドを使用して電子メールメッセージを移動します。
次のコードサンプルは、JavaでMSExchangeServer上のフォルダに電子メールを移動する方法を示しています。
try {
// 資格情報を指定してEWSClientクラスのインスタンスを作成します
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser",
"pwd", "domain");
// ListMessagesメソッドを呼び出して、受信トレイからのメッセージ情報を一覧表示します
ExchangeMessageInfoCollection msgCollection = client.listMessages(client.getMailboxInfo().getInboxUri());
// コレクションをループしてメッセージURIを取得します
for (ExchangeMessageInfo msgInfo : msgCollection) {
if (msgInfo.getFrom().getAddress().contains("jhon.vick")) {
String strMessageURI = msgInfo.getUniqueUri();
// 特定のフォルダにコピーする
String newMessageUri = client.copyItem(strMessageURI, client.getMailboxInfo().getOutboxUri());
}
}
} catch (java.lang.RuntimeException ex) {
System.out.println(ex.getMessage());
}
新しい電子メールをMSExchangeServer上のフォルダに移動する
新しく作成した電子メールをMSExchangeServerの特定のフォルダーに移動することもできます。この操作を実行する手順は次のとおりです。
- まず、ユーザー名、パスワード、ドメイン、およびURIを使用してIEWSClientオブジェクトを初期化します。
- 次に、MailMessageクラスを使用して新しいメッセージを作成します。
- その後、IEWSClient.appendMessage(MailMessage)メソッドによって返される電子メールメッセージのURIを取得します。
- 最後に、IEWSClient.copyItem(String URI、IEWSClient.getMailboxInfo().getOutboxUri())メソッドを使用して電子メールメッセージを移動します。
次のコードサンプルは、新しい電子メールメッセージをMSExchangeServerのフォルダに移動する方法を示しています。
try {
// 資格情報を指定してEWSClientクラスのインスタンスを作成します
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser",
"pwd", "domain");
// 新しいメッセージを作成する
MailMessage message = new MailMessage("from@domain.com", "to@domain.com",
"EMAILNET-34997 - " + UUID.randomUUID().toString(),
"EMAILNET-34997 Exchange: Copy a message and get reference to the new Copy item");
// URIを取得する
String messageUri = client.appendMessage(message);
// フォルダへ移動
String newMessageUri = client.copyItem(messageUri, client.getMailboxInfo().getDeletedItemsUri());
} catch (java.lang.RuntimeException ex) {
System.out.println(ex.getMessage());
}
無料のAPIライセンスを取得する
無料の一時ライセンスを取得して、評価の制限なしにAspose.EmailforJavaを使用できます。
結論
この記事では、Javaを使用してMicrosoftExchangeServerの特定のフォルダーに電子メールを移動する方法を学習しました。さらに、新しく作成した電子メールメッセージをExchangeServerの特定のフォルダーに移動する方法を見てきました。さらに、ドキュメントを調べて、Aspose.EmailforJavaの詳細を読むことができます。また、フォーラムから質問することもできます。