Aspose.Email for Java, Microsoft Exchange Server’nin e-posta, kişi yönetimi, takvim vb. hizmetleriyle çalışmanıza olanak tanır. Bir önceki gönderide, gördünüz MS Exchange Server’dan gelen e-postaları Java uygulamalarınızdan programlı olarak nasıl okuyacağınızı öğrenin. Ancak bazı durumlarda Exchange Server’da e-postaları bir klasörden diğerine taşımanız gerekebilir. Bu yazıda, java’da MS Exchange Server’da e-postaları belirli bir klasöre nasıl taşıyacağınızı öğreneceksiniz.
- E-postaları Microsoft Exchange Sunucusunda Taşımak için Java API
- Mevcut E-postayı MS Exchange Sunucusundaki Bir Klasöre Taşıyın
- Yeni E-postayı MS Exchange Sunucusunda Bir Klasöre Taşıyın
E-postaları Microsoft Exchange Sunucusunda Taşımak için Java API
Aspose.Email for Java, MS Exchange Server ile karmaşık kod yazmadan çalışmak için güçlü bir e-posta API’sidir. Bu yazıda, e-postaları MS Exchange Server’daki posta kutusunun belirli bir klasörüne taşımak için bu API’yi kullanacağız. 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>
E-postayı Java’daki MS Exchange Sunucusundaki Bir Klasöre Taşıyın
Aşağıdakiler, e-postaları Java’daki MS Exchange Server’da belirli bir klasöre taşıma adımlarıdır.
- İlk önce kullanıcı adı, parola, etki alanı ve URI kullanarak IEWSClient nesnesini başlatın.
- Ardından, IEWSClient.listMessages(IEWSClient.getMailboxInfo().getInboxUri()) yöntemini kullanarak bir ExchangeMessageInfoCollection nesnesindeki e-posta mesajlarının listesini alın.
- Bundan sonra, her ExchangeMessageInfo mesajında dolaşın ve gerekli olanları filtreleyin.
- Ardından, ExchangeMessageInfo.getUniqueUri() yöntemini kullanarak taşınacak e-posta mesajının URI’sini alın.
- Son olarak, IEWSClient.copyItem(String URI, IEWSClient.getMailboxInfo().getOutboxUri()) yöntemini kullanarak e-posta mesajını taşıyın.
Aşağıdaki kod örneği, bir e-postanın Java’daki MS Exchange Server’daki bir klasöre nasıl taşınacağını gösterir.
try {
// Kimlik bilgilerini vererek EWSClient sınıfının örneğini oluşturun
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser",
"pwd", "domain");
// Gelen Kutusu'ndaki mesaj bilgilerini listelemek için ListMessages yöntemini çağırın
ExchangeMessageInfoCollection msgCollection = client.listMessages(client.getMailboxInfo().getInboxUri());
// İleti URI'sini almak için koleksiyonda döngü yapın
for (ExchangeMessageInfo msgInfo : msgCollection) {
if (msgInfo.getFrom().getAddress().contains("jhon.vick")) {
String strMessageURI = msgInfo.getUniqueUri();
// Belirli bir klasöre kopyala
String newMessageUri = client.copyItem(strMessageURI, client.getMailboxInfo().getOutboxUri());
}
}
} catch (java.lang.RuntimeException ex) {
System.out.println(ex.getMessage());
}
Yeni E-postayı MS Exchange Sunucusunda Bir Klasöre Taşıyın
Yeni oluşturulan bir e-postayı MS Exchange Server’da belirli bir klasöre de taşıyabilirsiniz. Bu işlemi gerçekleştirmek için adımlar aşağıdadır.
- İlk önce kullanıcı adı, parola, etki alanı ve URI kullanarak IEWSClient nesnesini başlatın.
- Ardından, MailMessage sınıfını kullanarak yeni bir mesaj oluşturun.
- Bundan sonra, IEWSClient.appendMessage(MailMessage) yöntemi tarafından döndürülen e-posta iletisinin URI’sini alın.
- Son olarak, IEWSClient.copyItem(String URI, IEWSClient.getMailboxInfo().getOutboxUri()) yöntemini kullanarak e-posta mesajını taşıyın.
Aşağıdaki kod örneği, yeni bir e-posta iletisinin MS Exchange Server’daki bir klasöre nasıl taşınacağını gösterir.
try {
// Kimlik bilgilerini vererek EWSClient sınıfının örneğini oluşturun
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser",
"pwd", "domain");
// Yeni bir mesaj oluştur
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'yi al
String messageUri = client.appendMessage(message);
// Klasöre taşı
String newMessageUri = client.copyItem(messageUri, client.getMailboxInfo().getDeletedItemsUri());
} catch (java.lang.RuntimeException ex) {
System.out.println(ex.getMessage());
}
Ücretsiz API Lisansı Alın
Aspose.Email for Java’yı değerlendirme sınırlamaları olmaksızın kullanmak için ücretsiz geçici lisans alabilirsiniz.
Çözüm
Bu makalede, Java kullanarak e-postaları Microsoft Exchange Server’da belirli bir klasöre nasıl taşıyacağınızı öğrendiniz. Ayrıca, yeni oluşturulan bir e-posta mesajını Exchange Server’da belirli bir klasöre nasıl taşıyacağınızı 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.