Microsoft Exchange Server — это почтовый сервер, который предоставляет электронную почту, календарь, управление контактами и другие службы совместной работы. Его можно легко подключить и получить к нему доступ из веб-приложений или настольных приложений. Таким образом, вы можете общаться с сервером Exchange и получать доступ к электронной почте, контактам, календарям и т. д. В этой статье вы узнаете, как подключиться к серверу MS Exchange и читать электронную почту с помощью Java.
- Java API для работы с MS Exchange Server
- Подключиться к серверу MS Exchange на Java
- Чтение электронных писем с сервера MS Exchange в Java
- Получите бесплатную лицензию API
Java API для работы с MS Exchange Server
Aspose.Email для Java — это мощный API, предоставляющий широкий спектр функций управления электронной почтой. Он позволяет вам реализовывать многофункциональные почтовые клиенты из ваших Java-приложений. Кроме того, API позволяет вам получать доступ к папкам, подпапкам, электронной почте, календарям, контактам и т. д. с сервера MS Exchange. Вы можете либо скачать JAR-файл 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>21.2</version>
<classifier>jdk16</classifier>
</dependency>
Подключиться к серверу MS Exchange на Java
Для работы с MS Exchange Server необходимо сначала установить соединение. Aspose.Email для Java предоставляет следующие способы подключения к серверу Exchange.
- Использование веб-службы Exchange (EWS)
- Использование протокола доступа к сообщениям в Интернете (IMAP)
Подключиться к Exchange Server с помощью EWS
Ниже приведены шаги для подключения к Exchange Server через EWS.
- Создайте экземпляр класса IEWSClient.
- Используйте метод EWSClient.getEWSClient(String, String, String, String) для инициализации объекта EWSClient.
В следующем примере кода показано, как подключиться к серверу MS Exchange с помощью EWS в Java.
// Создайте экземпляр класса IEWSClient для подключения к Exchange Server.
IEWSClient client = EWSClient.getEWSClient("https://exchange.domain.com/ews/Exchange.asmx/", "user", "password", "");
Подключиться к Exchange Server по протоколу IMAP
Прежде чем пытаться подключиться к Exchange Server с помощью IMAP, убедитесь, что вы включили службы IMAP. После этого выполните следующие действия для подключения к серверу Exchange с использованием IMAP.
- Создайте экземпляр класса ImapClient и инициализируйте его адресом, портом, именем пользователя и паролем.
- Доступ к сообщениям, контактам и т. д. с помощью объекта ImapClient.
В следующем примере кода показано, как подключиться к серверу Exchange с помощью IMAP.
// Подключиться к Exchange Server с помощью класса ImapClient
ImapClient imapClient = new ImapClient("imap.gmail.com", 993, "username", "password");
Чтение электронных писем с сервера MS Exchange в Java
После подключения к серверу Exchange вы можете читать сообщения с сервера. Вы можете сделать это с помощью EWS или IMAP.
Чтение электронных писем с сервера MS Exchange с помощью EWS
Ниже приведены шаги для чтения сообщений электронной почты с Exchange Server с помощью EWS.
- Создайте экземпляр класса IEWSClient.
- Используйте метод EWSClient.getEWSClient(String, String, String, String) для инициализации объекта EWSClient.
- Получить список сведений о сообщениях из папки «Входящие» в объект ExchangeMessageInfoCollection с помощью метода EWSClient.listMessages(EWSClient.getMailboxInfo().getInboxUri()).
- Прокрутите каждый объект ExchangeMessageInfo в коллекции, чтобы прочитать сообщение.
В следующем примере кода показано, как читать сообщения с Exchange Server через EWS на Java.
// Создайте экземпляр класса ExchangeWebServiceClient, предоставив учетные данные
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) {
String strMessageURI = msgInfo.getUniqueUri();
// Теперь получите детали сообщения, используя FetchMessage().
MailMessage msg = client.fetchMessage(strMessageURI);
// Показать детали сообщения
System.out.println("Subject: " + msg.getSubject());
//Console.WriteLine("Тело HTML: " + msg.HtmlBody);
// Сколько вложений
System.out.println("Number of attachments: " + msg.getAttachments().size());
// Список вложений
for (Attachment att : msg.getAttachments()) {
System.out.println("Attachment Name: " + att.getName());
}
}
Чтение электронной почты с сервера MS Exchange с использованием IMAP
Ниже приведены шаги для чтения электронной почты с Exchange Server с использованием IMAP.
- Создайте экземпляр класса ImapClient и инициализируйте его адресом, портом, именем пользователя и паролем.
- Получить список информации о сообщении в объект ImapMessageInfoCollection с помощью метода ImapClient.listMessages().
- Прокрутите каждый объект ImapMessageInfo в коллекции, чтобы прочитать электронные письма.
В следующем примере кода показано, как читать электронные письма с Exchange Server через IMAP с помощью Java.
// Подключиться к Exchange Server с помощью класса ImapClient
ImapClient imapClient = new ImapClient("imap.gmail.com", 993, "username", "password");
// Выберите папку «Входящие»
imapClient.selectFolder(ImapFolderInfo.IN_BOX);
// Получить список сообщений
ImapMessageInfoCollection msgCollection = imapClient.listMessages();
for (ImapMessageInfo msgInfo : msgCollection) {
System.out.println(msgInfo.getSubject());
}
Получите бесплатную лицензию API
Вы можете попробовать Aspose.Email для Java без оценочных ограничений, получив временную лицензию.
Живая демонстрация
Вывод
В этой статье вы узнали, как подключиться к серверу MS Exchange и читать электронную почту с помощью Java. Кроме того, вы видели, как получить доступ к серверу MS Exchange с помощью EWS или IMAP. Вы можете узнать больше об Aspose.Email для Java, используя документацию. Если у вас возникнут какие-либо вопросы или вопросы, сообщите нам об этом через наш форум.