Java'da MS Exchange Sunucusunda Konuşmalarla Çalışın

Genellikle bir e-posta, bir dizi oluşturan birden çok mesajdan (veya yanıttan) oluşur. Microsoft Exchange Server‘da bu ileti dizileri konuşmalar olarak adlandırılır. MS Exchange Server ile programlı olarak çalışırken konuşmalara erişmeniz ve bunları yönetmeniz gerekebilir. Bunu başarmak için, bu makalede Java’da Microsoft Exchange Server’da konuşmaları nasıl bulacağınızı, kopyalayacağınızı, taşıyacağınızı ve sileceğinizi öğreneceksiniz.

MS Exchange Sunucusunda Konuşmalarla Çalışmak için Java API

Microsoft Exchange Server’daki konuşmalarla çalışmak için Aspose.Email for Java kullanacağız. Java uygulamalarının içinden MS Exchange Server ile çalışmak için bir dizi özellik sağlayan harika bir API’dir. API’yi indirebilir veya aşağıdaki Maven yapılandırmalarını kullanarak yükleyebilirsiniz.

Depo:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

Bağımlılık:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>22.2</version>
    <classifier>jdk16</classifier>
</dependency>

Java’da MS Exchange Sunucusunda Konuşmaları Bulun

Java kullanarak MS Exchange Sunucusundaki bir klasörden konuşmaları bulma adımları aşağıdadır.

Aşağıdaki kod örneği, Java’daki MS Exchange Server’daki bir klasörden konuşmaların nasıl bulunacağını gösterir.

// Posta kutusu URI'sini, kullanıcı adını, şifreyi, etki alanı bilgilerini ayarla
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);

IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");

// Gelen kutusu klasöründe konuşma öğelerini bulun
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// Tüm konuşmaları göster
for (ExchangeConversation conversation : conversations) {
	// Kimlik ve Konu gibi görüşme özelliklerini görüntüleyin
	System.out.println("Topic: " + conversation.getConversationTopic());
	System.out.println("Flag Status: " + conversation.getFlagStatus());
	System.out.println();
}

Java’da MS Exchange Sunucusunda Bir Konuşmayı Kopyalayın

Konuşmaları bir klasörden diğerine de kopyalayabilirsiniz. Java’daki Exchange Server’ın gelen kutusundaki silinmiş öğeler klasörüne konuşmaların nasıl kopyalanacağına bir göz atalım.

Aşağıdaki kod örneği, Java kullanılarak MS Exchange Server’da bir konuşmanın nasıl kopyalanacağını gösterir.

// Posta kutusu URI'sini, kullanıcı adını, şifreyi, etki alanı bilgilerini ayarla
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);

IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");

// Gelen kutusu klasöründe konuşma öğelerini bulun
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// Tüm görüşmeleri göster
for (ExchangeConversation conversation : conversations) {
	System.out.println("Topic: " + conversation.getConversationTopic());
    
	// Bazı koşullara göre konuşma öğesini kopyalayın
    if (conversation.getConversationTopic().contains("test email")) {
        client.copyConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
        System.out.println("Copied the conversation item to another folder");
    }
}

Java’da MS Exchange Sunucusunda Bir Konuşmayı Taşıma

Önceki bölümde, konuşmaları bir klasörden diğerine kopyaladık. Ancak bazı durumlarda, bir görüşmeyi belirli bir klasöre taşımanız gerekebilir. Java’da MS Exchange Server’da bir sohbeti taşımak için adımlar aşağıdadır.

Aşağıdaki kod örneği, Java kullanılarak MS Exchange Server’da bir konuşmanın nasıl taşınacağını gösterir.

// Posta kutusu URI'sini, kullanıcı adını, şifreyi, etki alanı bilgilerini ayarla
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);

IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");

// Gelen kutusu klasöründe konuşma öğelerini bulun
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// Tüm konuşmaları göster
for (ExchangeConversation conversation : conversations) {
	System.out.println("Topic: " + conversation.getConversationTopic());
    
	// Bazı koşullara göre konuşma öğesini taşıyın
    if (conversation.getConversationTopic().contains("test email") == true) {
        client.moveConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
        System.out.println("Moved the conversation item to another folder");
    }
}

Java’da MS Exchange Sunucusunda Bir Konuşmayı Silme

Son olarak, Java’da MS Exchange Server’dan bir konuşmanın nasıl silineceğine bir göz atalım.

Aşağıdaki kod örneği, Java’da MS Exchange Server’dan bir konuşmanın nasıl silineceğini gösterir.

// Posta kutusu URI'sini, kullanıcı adını, şifreyi, etki alanı bilgilerini ayarla
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);

IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");

// Gelen kutusu klasöründe konuşma öğelerini bulun
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// Tüm konuşmaları göster
for (ExchangeConversation conversation : conversations) {
	System.out.println("Topic: " + conversation.getConversationTopic());
    
	// Bazı koşullara göre konuşma öğesini silin
    if (conversation.getConversationTopic().contains("test email") == true) {
        client.deleteConversationItems(conversation.getConversationId());
        System.out.println("Deleted the conversation item");
    }
}

Ücretsiz API Lisansı Alın

Aspose.Email for Java’yı değerlendirme sınırlamaları olmadan kullanmak için ücretsiz geçici lisans alabilirsiniz.

Çözüm

Bu makalede, Java kullanarak Microsoft Exchange Server’da konuşmaları nasıl yöneteceğinizi öğrendiniz. Java’da programlı olarak MS Exchange Sunucusunda bir konuşmayı nasıl bulacağınızı, kopyalayacağınızı, taşıyacağınızı ve sileceğinizi gördünüz. Ayrıca Aspose.Email for Java hakkında daha fazlasını okumak için belgeleri inceleyebilirsiniz. Ayrıca sorularınızı forumumuz aracılığıyla da sorabilirsiniz.

Ayrıca bakınız