電子メールをJavaのMicrosoftExchangeServer上のフォルダに移動する

Aspose.Email for Javaを使用すると、Microsoft Exchange Serverの電子メール、連絡先管理、予定表などのサービスを使用できます。前の投稿で、 Javaアプリケーション内からプログラムでMSExchangeServerから電子メールを読み取る方法。ただし、場合によっては、ExchangeServer上のあるフォルダーから別のフォルダーに電子メールを移動する必要があります。この記事では、Javaで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上の特定のフォルダに電子メールを移動する手順です。

次のコードサンプルは、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の特定のフォルダーに移動することもできます。この操作を実行する手順は次のとおりです。

次のコードサンプルは、新しい電子メールメッセージを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の詳細を読むことができます。また、フォーラムから質問することもできます。

関連項目