
- Отримати електронні листи через POP3
- Отримати електронні листи через IMAP
- Отримати повідомлення з MS Exchange Server
- Microsoft Graph для витягування повідомлень з сервера
- Витягування повідомлень з офлайн-сховища електронної пошти
При розробці програми обробки електронної пошти встановлення ефективного механізму для витягування повідомлень з вхідних листів є важливим для надійної та швидкої доставки і доступності. Це особливо цінується організаціями та підприємствами, які мають справу зі зростаючим обсягом вхідних повідомлень. У цій статті ми дослідимо, як використовувати можливості бібліотеки Java для отримання електронних листів через POP3, IMAP, EWS, Graph API та з офлайн-сховищ електронної пошти різних форматів на прикладі файлу pst. Ці підходи пропонують комплексне рішення для отримання електронних листів, розширюючи можливості вашої програми на Java.
Java API для витягування повідомлень
Щоб витягувати повідомлення з сервера або сховища електронної пошти в Java, ми будемо використовувати Aspose.Email для Java. Aspose.Email - це надійна бібліотека, яка дозволяє розробникам Java легко працювати з електронними листами, папками та поштовими серверами. Вона підтримує широкий спектр форматів електронної пошти, включаючи MSG, EML, PST та OST, що робить її універсальним вибором для завдань, пов’язаних з електронною поштою. Ви можете легко впровадити API у свій проект, якщо ви завантажите його або встановите за допомогою наступних конфігурацій Maven.
Repository:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
Dependency:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>23.11</version>
<classifier>jdk16</classifier>
</dependency>
Отримати електронні листи через POP3
POP3 (Протокол поштового відділення 3) - це широко використовуваний протокол отримання електронної пошти. Він дозволяє вам завантажувати електронні листи з поштового сервера на ваш локальний пристрій. З Aspose.Email ви можете легко отримувати електронні листи через POP3, використовуючи наступний фрагмент коду з етапами:
- Використовуйте клас Pop3Client, щоб створити об’єкт, передавши необхідні властивості для встановлення з’єднання з сервером POP3.
- Увімкніть автоматичний вибір відповідного протоколу безпеки, встановивши параметри безпеки на SecurityOptions.Auto.
- Отримайте колекцію повідомлень у поштовій скриньці, викликавши метод listMessages на об’єкті Pop3Client.
- Переберіть колекцію messageInfoCol.
- Для кожного об’єкта Pop3MessageInfo викличте метод fetchMessage на об’єкті Pop3Client, передаючи номер послідовності, отриманий з messageInfo.getSequenceNumber().
- Усередині циклу ви можете працювати з отриманим повідомленням у змінній eml, наприклад, зчитувати його вміст або зберігати його у файл.
Отримати електронні листи через IMAP
IMAP (Протокол доступу до Інтернет-повідомлень) - це стандартний протокол отримання електронної пошти, який дозволяє електронним клієнтам отримувати доступ до повідомлень, що зберігаються на віддаленому поштовому сервері, і керувати ними. На відміну від POP3, який зазвичай завантажує електронні листи на локальний пристрій, IMAP зберігає повідомлення на сервері, що робить його ідеальним для синхронізації на кількох пристроях і віддаленого доступу. Aspose.Email дозволяє безперешкодно інтегрувати цей протокол у вашу програму. Дивіться наступний приклад коду з етапами для отримання повідомлень:
- Створіть об’єкт ImapClient, передавши ім’я хоста, ім’я користувача та пароль сервера IMAP.
- Встановіть параметри безпеки клієнта на SecurityOptions.Auto, що дозволяє автоматично вибирати відповідний протокол безпеки.
- Викличте метод listMessages на об’єкті ImapClient, щоб отримати колекцію об’єктів ImapMessageInfo, які представляють повідомлення в поштовій скриньці.
- Переберіть колекцію messageInfoCol.
- Для кожного об’єкта ImapMessageInfo викличте метод fetchMessage на об’єкті ImapClient, передаючи унікальний ідентифікатор, отриманий з messageInfo.getUniqueId().
- Усередині циклу ви можете працювати з отриманим повідомленням у змінній eml, наприклад, зчитувати його вміст або зберігати у файл.
Отримати повідомлення з MS Exchange Server
Протокол Exchange Web Services (EWS) - це потужний і універсальний комунікаційний протокол, розроблений Microsoft для отримання доступу та управління даними в Microsoft Exchange Server та Office 365. Aspose.Email надає набір функцій для роботи з поштовими скриньками Exchange та повідомленнями, що дозволяє розробникам створювати програми та сервіси, які безперешкодно інтегруються з даними в Microsoft Exchange Server та Office 365, що робить їх цінними інструментами для сучасної бізнес-комунікації та співпраці. Нижче представлено ефективну інтеграцію нашого API з протоколом EWS у простому фрагменті коду з етапами:
- Створіть об’єкт IEWSClient, викликавши метод getEWSClient на класі EWSClient і передавши URL-адресу точки доступу EWS сервера Exchange, а також ім’я користувача та пароль для аутентифікації.
- Викличте методи getMailboxInfo() та getInboxUri() на об’єкті клієнта, щоб отримати URI папки “Вхідні”.
- Викличте метод listMessages() на об’єкті клієнта, передавши URI “Вхідні”, щоб отримати колекцію об’єктів ExchangeMessageInfo, які представляють повідомлення у “Вхідних”.
- Переберіть колекцію messageInfoCol.
- Для кожного об’єкта ExchangeMessageInfo викличте метод getUniqueUri(), щоб отримати унікальний URI повідомлення.
- Викличте метод fetchMessage на об’єкті клієнта, передаючи strMessageURI, щоб отримати конкретне повідомлення.
- Усередині циклу ви можете працювати з отриманим повідомленням у змінній eml, наприклад, зчитувати його вміст або зберігати у файл.
Microsoft Graph для витягування повідомлень з сервера
Microsoft Graph API - це REST API, наданий Microsoft для отримання доступу до різних сервісів Microsoft, включаючи Outlook та Office 365. Екземпляр класу IGraphClient, наданий Aspose.Email для Java, обробляє формування запитів, їх надсилання до Microsoft Graph API та обробку відповідей. Ця інтеграція забезпечує набір функцій для ефективної обробки електронної пошти. Наступний приклад коду демонструє функціональність отримання повідомлень, що підтримується наступними етапами:
- Створіть об’єкт IGraphClient, викликавши метод getClient на класі GraphClient і передавши об’єкт tokenProvider для аутентифікації з Microsoft Graph API.
- Викличте метод listMessages на об’єкті IGraphClient, передавши GraphKnownFolders.Inbox для отримання колекції об’єктів GraphMessageInfo, які представляють повідомлення у “Вхідних”.
- Переберіть колекцію messageInfoColl.
- Для кожного об’єкта GraphMessageInfo викличте метод fetchMessage на об’єкті IGraphClient, передаючи метод getItemId як параметр для отримання конкретного повідомлення.
- Усередині циклу ви можете працювати з отриманим повідомленням у змінній message, наприклад, зчитувати його вміст або зберігати у файл за допомогою класу MapiMessage.
Витягування повідомлень з офлайн-сховища електронної пошти
Офлайн-сховище електронної пошти відноситься до зберігання електронних листів та пов’язаних з ними даних на локальному пристрої чи комп’ютері, що дозволяє користувачам отримувати доступ до своїх електронних листів без активного Інтернет-з’єднання. Наша прогресивна бібліотека дозволяє вам розробляти клієнти електронної пошти та програми, які надають користувачам можливість працювати зі своїми електронними листами, навіть коли вони не підключені до поштового сервера або Інтернету. Наступний фрагмент коду з етапами покаже вам, як використовувати можливості бібліотеки для відкриття файлу особистого зберігання Outlook (PST), доступу до папки “Вхідні” та витягування кожного повідомлення з неї.
- Створіть об’єкт PersonalStorage, викликавши метод fromFile на класі PersonalStorage і передавши шлях до файлу PST (“storage.pst”).
- Отримайте кореневу папку файлу PST через метод getRootFolder на об’єкті PersonalStorage.
- Отримайте папку “Вхідні” з кореневої папки, використовуючи метод getSubFolder, передавши “Inbox” як назву папки.
- Переберіть повідомлення в папці “Вхідні”.
- Для кожного об’єкта MessageInfo в колекції folder.enumerateMessages() викличте метод extractMessage на об’єкті PersonalStorage, передаючи параметр messageInfo для витягування конкретного повідомлення.
- Усередині циклу ви можете працювати з витягнутим повідомленням у змінній msg, наприклад, зчитувати його вміст або обробляти його метадані за допомогою класу MapiMessage.
Висновок
У цій статті ми дізналися, як використовувати можливості Aspose.Email для Java для отримання електронної пошти. Завдяки підтримці POP3, IMAP, EWS, Graph API та офлайн-сховищ електронної пошти, бібліотека надає вам можливість налаштувати функціональність вашої програми відповідно до конкретних потреб. Незалежно від того, чи розробляєте ви клієнтську програму, інтеграційний інструмент або інше рішення, наш Java API забезпечує вас інструментами для створення безперервного та ефективного процесу обробки повідомлень. Ви можете дослідити інші функції Aspose.Email, використовуючи документацію. Також ви можете поставити свої запитання на нашому форумі.