Microsoft Exchange Sunucusu, e-posta, takvim, kişi yönetimi ve diğer işbirliği hizmetleri sağlayan bir posta sunucusudur. Web veya masaüstü uygulamalarınız içinden kolayca bağlanabilir ve erişilebilir. Böylece Exchange Server ile iletişim kurabilir ve e-postalara, kişilere, takvimlere vb. erişebilirsiniz. Bu yazıda Java kullanarak MS Exchange Server’a nasıl bağlanılacağını ve e-postaların nasıl okunacağını öğreneceksiniz.
- MS Exchange Server ile Çalışmak için Java API
- Java’da MS Exchange Server’a bağlanın
- Java’daki MS Exchange Sunucusundan E-postaları Oku
- Ücretsiz API Lisansı Alın
MS Exchange Server ile Çalışmak için Java API
Aspose.Email for Java, size çok çeşitli e-posta yönetimi özellikleri sağlayan güçlü bir API’dir. Zengin özelliklere sahip e-posta istemcilerini Java uygulamalarınızdan uygulamanıza olanak tanır. Ayrıca API, MS Exchange Server’dan klasörlere, alt klasörlere, e-postalara, takvimlere, kişilere vb. erişmenizi sağlar. API’nin JAR’ını indirebilir veya aşağıdaki Maven yapılandırmalarını kullanarak kurabilirsiniz.
<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>21.2</version>
<classifier>jdk16</classifier>
</dependency>
Java’da MS Exchange Server’a bağlanın
MS Exchange Server ile çalışabilmeniz için öncelikle bir bağlantı kurmanız gerekmektedir. Aspose.Email for Java, bir Exchange Sunucusuna bağlanmak için aşağıdaki yolları sağlar.
- Exchange Web Hizmetini (EWS) Kullanma
- İnternet İleti Erişim Protokolünü (IMAP) Kullanma
Java’da EWS kullanarak Exchange Server’a bağlanın
EWS üzerinden Exchange Server’a bağlanmak için izlenecek adımlar aşağıdadır.
- IEWSClient sınıfının bir örneğini oluşturun.
- EWSClient nesnesini başlatmak için EWSClient.getEWSClient(String, String, String, String) yöntemini kullanın.
Aşağıdaki kod örneği, Java’da EWS kullanılarak MS Exchange Server’a nasıl bağlanılacağını gösterir.
// Exchange Server'a bağlanmak için bir IEWSClient sınıfı örneği oluşturun
IEWSClient client = EWSClient.getEWSClient("https://exchange.domain.com/ews/Exchange.asmx/", "user", "password", "");
Java’da IMAP kullanarak Exchange Server’a bağlanın
IMAP kullanarak Exchange Server’a bağlanmayı denemeden önce lütfen IMAP hizmetlerini etkinleştirdiğinizden emin olun. Tamamlandıktan sonra, IMAP kullanarak bir Exchange Sunucusuna bağlanmak için gereken adımlar aşağıdadır.
- ImapClient sınıfının bir örneğini oluşturun ve bunu adres, bağlantı noktası, kullanıcı adı ve parola ile başlatın.
- ImapClient nesnesini kullanarak mesajlara, kişilere vb. erişin.
Aşağıdaki kod örneği, IMAP kullanarak Exchange Server’a nasıl bağlanılacağını gösterir.
// ImapClient sınıfını kullanarak Exchange Server'a bağlanın
ImapClient imapClient = new ImapClient("imap.gmail.com", 993, "username", "password");
Java’daki MS Exchange Sunucusundan E-postaları Oku
Exchange Sunucusuna bağlandıktan sonra, sunucudan gelen mesajları okuyabilirsiniz. EWS veya IMAP kullanarak yapabilirsiniz.
EWS kullanarak MS Exchange Sunucusundan E-postaları Okuyun
Aşağıda, EWS kullanarak Exchange Server’dan e-postaları okuma adımları yer almaktadır.
- IEWSClient sınıfının bir örneğini oluşturun.
- EWSClient nesnesini başlatmak için EWSClient.getEWSClient(String, String, String, String) yöntemini kullanın.
- EWSClient.listMessages(EWSClient.getMailboxInfo().getInboxUri()) yöntemini kullanarak gelen kutusundaki mesaj bilgilerinin listesini ExchangeMessageInfoCollection nesnesine alın.
- İletiyi okumak için koleksiyondaki her ExchangeMessageInfo nesnesi arasında geçiş yapın.
Aşağıdaki kod örneği, Java’da EWS aracılığıyla Exchange Server’dan iletilerin nasıl okunacağını gösterir.
// Kimlik bilgilerini vererek ExchangeWebServiceClient 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) {
String strMessageURI = msgInfo.getUniqueUri();
// Şimdi FetchMessage() kullanarak mesaj ayrıntılarını alın
MailMessage msg = client.fetchMessage(strMessageURI);
// Mesaj ayrıntılarını göster
System.out.println("Subject: " + msg.getSubject());
//Console.WriteLine("HTML Gövdesi: " + msg.HtmlBody);
// kaç ek var
System.out.println("Number of attachments: " + msg.getAttachments().size());
// ekleri listele
for (Attachment att : msg.getAttachments()) {
System.out.println("Attachment Name: " + att.getName());
}
}
IMAP kullanarak MS Exchange Sunucusundan E-postaları Okuyun
Aşağıdakiler, IMAP kullanarak Exchange Server’dan e-postaları okuma adımlarıdır.
- ImapClient sınıfının bir örneğini oluşturun ve bunu adres, bağlantı noktası, kullanıcı adı ve parola ile başlatın.
- ImapClient.listMessages() yöntemini kullanarak mesaj bilgilerinin listesini ImapMessageInfoCollection nesnesine alın.
- E-postaları okumak için koleksiyondaki her ImapMessageInfo nesnesi arasında geçiş yapın.
Aşağıdaki kod örneği, Java kullanarak IMAP yoluyla Exchange Server’dan e-postaların nasıl okunacağını gösterir.
// ImapClient sınıfını kullanarak Exchange Server'a bağlanın
ImapClient imapClient = new ImapClient("imap.gmail.com", 993, "username", "password");
// Gelen Kutusu klasörünü seçin
imapClient.selectFolder(ImapFolderInfo.IN_BOX);
// Mesajların listesini al
ImapMessageInfoCollection msgCollection = imapClient.listMessages();
for (ImapMessageInfo msgInfo : msgCollection) {
System.out.println(msgInfo.getSubject());
}
Ücretsiz API Lisansı Alın
Aspose.Email for Java’yı geçici lisans alarak değerlendirme kısıtlamaları olmadan deneyebilirsiniz.
Canlı Demo
Çözüm
Bu yazıda, Java kullanarak MS Exchange Server’a nasıl bağlanılacağını ve e-postaların nasıl okunacağını öğrendiniz. Ayrıca, EWS veya IMAP kullanarak MS Exchange Server’a nasıl erişileceğini gördünüz. Aspose.Email for Java hakkında documentation kullanarak daha fazlasını keşfedebilirsiniz. Herhangi bir sorunuz veya sorunuz olması durumunda forumumuz aracılığıyla bize bildirmekten çekinmeyin.