Microsoft Exchange Server to serwer pocztowy, który zapewnia pocztę e-mail, kalendarze, zarządzanie kontaktami i inne usługi współpracy. Można go łatwo podłączyć i uzyskać do niego dostęp z poziomu aplikacji internetowych lub stacjonarnych. W ten sposób możesz komunikować się z serwerem Exchange i uzyskiwać dostęp do wiadomości e-mail, kontaktów, kalendarzy itp. W tym artykule dowiesz się, jak połączyć się z serwerem MS Exchange i czytać wiadomości e-mail za pomocą języka Java.
- Java API do pracy z MS Exchange Server
- Połącz się z MS Exchange Server w Javie
- Czytaj e-maile z MS Exchange Server w Javie
- Uzyskaj bezpłatną licencję API
Java API do pracy z MS Exchange Server
Aspose.Email for Java to potężny interfejs API, który zapewnia szeroki zakres funkcji zarządzania pocztą e-mail. Umożliwia wdrażanie bogatych w funkcje klientów poczty e-mail z poziomu aplikacji Java. Ponadto interfejs API umożliwia dostęp do folderów, podfolderów, wiadomości e-mail, kalendarzy, kontaktów itp. z serwera MS Exchange. Możesz pobrać plik JAR interfejsu API lub zainstalować go przy użyciu następujących konfiguracji Mavena.
<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>
Połącz się z MS Exchange Server w Javie
Aby pracować z MS Exchange Server, musisz najpierw nawiązać połączenie. Aspose.Email for Java zapewnia następujące sposoby łączenia się z serwerem Exchange.
- Korzystanie z usługi internetowej Exchange (EWS)
- Korzystanie z protokołu internetowego dostępu do wiadomości (IMAP)
Połącz się z serwerem Exchange przy użyciu EWS w Javie
Poniżej przedstawiono kroki, aby połączyć się z serwerem Exchange za pośrednictwem EWS.
- Utwórz instancję klasy IEWSClient.
- Użyj metody EWSClient.getEWSClient(String, String, String, String), aby zainicjować obiekt EWSClient.
Poniższy przykładowy kod pokazuje, jak połączyć się z MS Exchange Server przy użyciu EWS w Javie.
// Utwórz instancję klasy IEWSClient, aby połączyć się z serwerem Exchange
IEWSClient client = EWSClient.getEWSClient("https://exchange.domain.com/ews/Exchange.asmx/", "user", "password", "");
Połącz się z serwerem Exchange przy użyciu protokołu IMAP w Javie
Przed próbą połączenia z serwerem Exchange przy użyciu protokołu IMAP upewnij się, że masz włączone usługi IMAP. Po zakończeniu wykonaj następujące czynności, aby połączyć się z serwerem Exchange przy użyciu protokołu IMAP.
- Utwórz instancję klasy ImapClient i zainicjuj ją adresem, portem, nazwą użytkownika i hasłem.
- Uzyskaj dostęp do wiadomości, kontaktów itp. za pomocą obiektu ImapClient.
Poniższy przykładowy kod pokazuje, jak nawiązać połączenie z serwerem Exchange przy użyciu protokołu IMAP.
// Połącz się z serwerem Exchange przy użyciu klasy ImapClient
ImapClient imapClient = new ImapClient("imap.gmail.com", 993, "username", "password");
Czytaj e-maile z MS Exchange Server w Javie
Po nawiązaniu połączenia z serwerem Exchange możesz czytać wiadomości z serwera. Możesz to zrobić za pomocą EWS lub IMAP.
Czytaj wiadomości e-mail z serwera MS Exchange przy użyciu EWS
Poniżej przedstawiono kroki, aby odczytać wiadomości e-mail z serwera Exchange przy użyciu EWS.
- Utwórz instancję klasy IEWSClient.
- Użyj metody EWSClient.getEWSClient(String, String, String, String), aby zainicjować obiekt EWSClient.
- Pobierz listę wiadomości ze skrzynki odbiorczej do obiektu ExchangeMessageInfoCollection za pomocą metody EWSClient.listMessages(EWSClient.getMailboxInfo().getInboxUri()).
- Przejrzyj każdy obiekt ExchangeMessageInfo w kolekcji, aby przeczytać wiadomość.
Poniższy przykładowy kod pokazuje, jak odczytywać wiadomości z Exchange Server za pośrednictwem EWS w Javie.
// Utwórz instancję klasy ExchangeWebServiceClient, podając poświadczenia
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Wywołaj metodę ListMessages, aby wyświetlić informacje o wiadomościach ze skrzynki odbiorczej
ExchangeMessageInfoCollection msgCollection = client.listMessages(client.getMailboxInfo().getInboxUri());
// Przejrzyj kolekcję, aby uzyskać identyfikator URI komunikatu
for (ExchangeMessageInfo msgInfo : msgCollection) {
String strMessageURI = msgInfo.getUniqueUri();
// Teraz uzyskaj szczegóły wiadomości za pomocą FetchMessage()
MailMessage msg = client.fetchMessage(strMessageURI);
// Wyświetl szczegóły wiadomości
System.out.println("Subject: " + msg.getSubject());
//Console.WriteLine("Treść HTML: " + msg.HtmlBody);
// Ile załączników
System.out.println("Number of attachments: " + msg.getAttachments().size());
// Wypisz załączniki
for (Attachment att : msg.getAttachments()) {
System.out.println("Attachment Name: " + att.getName());
}
}
Czytaj wiadomości e-mail z serwera MS Exchange przy użyciu protokołu IMAP
Poniżej przedstawiono kroki, aby czytać wiadomości e-mail z serwera Exchange przy użyciu protokołu IMAP.
- Utwórz instancję klasy ImapClient i zainicjuj ją adresem, portem, nazwą użytkownika i hasłem.
- Pobierz listę informacji o wiadomości do obiektu ImapMessageInfoCollection za pomocą metody ImapClient.listMessages().
- Przejrzyj każdy obiekt ImapMessageInfo w kolekcji, aby przeczytać e-maile.
Poniższy przykładowy kod pokazuje, jak odczytywać wiadomości e-mail z programu Exchange Server za pośrednictwem protokołu IMAP przy użyciu języka Java.
// Połącz się z serwerem Exchange przy użyciu klasy ImapClient
ImapClient imapClient = new ImapClient("imap.gmail.com", 993, "username", "password");
// Wybierz folder Skrzynka odbiorcza
imapClient.selectFolder(ImapFolderInfo.IN_BOX);
// Pobierz listę wiadomości
ImapMessageInfoCollection msgCollection = imapClient.listMessages();
for (ImapMessageInfo msgInfo : msgCollection) {
System.out.println(msgInfo.getSubject());
}
Uzyskaj bezpłatną licencję API
Możesz wypróbować Aspose.Email for Java bez ograniczeń ewaluacyjnych, uzyskując licencję tymczasową.
Demo na żywo
Wniosek
W tym artykule nauczyłeś się, jak łączyć się z serwerem MS Exchange i czytać wiadomości e-mail za pomocą języka Java. Ponadto widziałeś, jak uzyskać dostęp do MS Exchange Server za pomocą EWS lub IMAP. Możesz dowiedzieć się więcej o Aspose.Email dla Javy, korzystając z dokumentacji. Jeśli masz jakieś pytania lub wątpliwości, daj nam znać za pośrednictwem naszego forum.