Підключення до POP3‑серверу
The Pop3Client клас дозволяє застосункам керувати поштовими скриньками за допомогою протоколу Post Office Protocol, Version 3 (POP3). Щоб підключитися до сервера, використовуйте Pop3Client клас. The Pop3Client клас є головною точкою входу для розробників, які хочуть додати управління POP3 у свої .NET‑застосунки. У цій статті пояснюється, як його використовувати. Щоб підключитися до POP3‑сервера:
- Створіть екземпляр Pop3Client клас.
- Вкажіть хост, ім’я користувача та пароль у Pop3Client екземпляр.
Нижче наведено код, який показує, як підключитися до POP3‑сервера.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Create an instance of the Pop3Client class
Pop3Client client = new Pop3Client();
// Specify host, username, password, Port and SecurityOptions for your client
client.setHost("pop.gmail.com");
client.setUsername("your.username@gmail.com");
client.setPassword("your.password");
client.setPort(995);
client.setSecurityOptions(SecurityOptions.Auto);
System.out.println("Connected to POP3 server.");
Підключення до SSL‑сервера
Підключення до POP3‑сервера описано, як підключитися до POP3‑сервера у три простих кроки:
- Створіть екземпляр Pop3Client клас.
- Вкажіть хост, ім’я користувача та пароль.
Процес підключення до SSL‑включеного POP3‑сервера схожий, але вимагає встановити ще кілька властивостей:
- SecurityOptions
- Порт
Щоб підключитися до SSL‑включеного POP3‑сервера, використовуйте Pop3Client клас та встановіть SecurityOptions і властивостей Port. Нижче наведено код, який показує, як підключитися до SSL‑включеного POP3‑сервера.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Create an instance of the Pop3Client class
Pop3Client client = new Pop3Client();
// Specify host, username and password, Port and SecurityOptions for your client
client.setHost("pop.gmail.com");
client.setUsername("your.username@gmail.com");
client.setPassword("your.password");
client.setPort(995);
client.setSecurityOptions(SecurityOptions.Auto);
System.out.println("Connecting to POP3 server using SSL.");
Підключення до APOP‑сервера
POP означає Post Office Protocol. APOP означає Authenticated Post Office Protocol. APOP – це розширена версія налаштування сервера POP3, яка шифрує ваше ім’я користувача та пароль і використовує механізм автентифікації, створений для захисту пароля вашого POP3‑акаунту під час перевірки пошти. Аутентифікація APOP не вимагає передачі пароля у відкритому вигляді до POP3‑сервера.
Підключення до сервера через проксі
Проксі‑сервери дуже поширені для зв’язку зі зовнішнім світом. У таких випадках адреси проксі використовуються поштовими клієнтами для доступу до скриньок через Інтернет. Aspose.Email підтримує версії 4, 4a і 5 протоколу SOCKS. У цій статті наведено робочий приклад отримання листа за допомогою проксі‑серверу. Щоб отримати лист через проксі‑сервер:
- Ініціалізувати Проксі з необхідною інформацією, тобто адресою проксі, портом і версією SOCKS.
- Ініціалізувати Pop3Client з адресою хоста, ім’ям користувача, паролем та іншими налаштуваннями.
- Встановіть властивість Proxy клієнта у Проксі об’єкт, створений вище.
Нижче наведено код, який показує, як отримати листи через проксі‑сервер.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Create an instance of the Pop3Client class
Pop3Client client = new Pop3Client("pop.domain.com", "username", "password");
// Set proxy address, Port and Proxy
String proxyAddress = "192.168.203.142";
int proxyPort = 1080;
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.setProxy(proxy);
Pop3MailboxInfo mailboxInfo = client.getMailboxInfo();
Підключення до сервера через HTTP‑проксі
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);
try (Pop3Client client = new Pop3Client("imap.domain.com", "username", "password")) {
client.setProxy(proxy);
Pop3MailboxInfo mailboxInfo = client.getMailboxInfo();
}
Налаштування механізму автентифікації
Отримати список механізмів автентифікації, підтримуваних POP3‑сервером, використовуючи getSupportedAuthentication метод Pop3Client клас. Цей метод дозволяє клієнту визначити, які методи автентифікації доступні для встановлення захищеного з’єднання з сервером. Потім, використовуючи setAllowedAuthentication метод, який отримує (або встановлює) перелік типів автентифікації, дозволених користувачем, обирайте найбільш підходящий механізм автентифікації для взаємодії клієнт‑сервер. Це дозволяє явно встановити метод автентифікації для поштового клієнта.
Нижче наведено зразок коду, який показує, як налаштувати автентифікацію клієнта електронної пошти:
pop3Client.setAllowedAuthentication(Pop3KnownAuthenticationType.Plain);
Підтримка протоколу OAuth 2.0 для авторизації
OAuth 2.0 забезпечує авторизацію
Pop3Client підтримує OAuth 2.0, забезпечуючи специфічні способи авторизації для застосунків. Наведені конструктори використовуються для ініціалізації POP3Client за допомогою OAuth:
public Pop3Client(
String host, /*The host name*/
int port, /*The port number*/
String username, /*The user name*/
ITokenProvider tokenProvider, /*TokenProvider allowing to retrieve access token*/
/*SecurityOptions*/int securityOptions) /*Security mode for a mail client*/
public Pop3Client(
String host, /*The host name*/
int port, /*The port number*/
String username, /*The user name*/
String authInfo, /*The user password or XOAUTH2 access token*/
boolean useOAuth, /*Defines whether SASL XOAUTH2 mechanism is used to login to the server*/
/*SecurityOptions*/int securityOptions) /*Security mode for a mail client*/
Перевірка облікових даних поштового сервера без надсилання листа
Іноді необхідно перевірити облікові дані без надсилання листа. Aspose.Email надає validateCredentials() метод для виконання цієї операції. Якщо валідація успішна, виконується код всередині if, зазвичай використовується для подальших дій або отримання даних з IMAP‑сервера. Наступний фрагмент коду демонструє валідацію облікових даних без надсилання листа:
try (Pop3Client pop3Client = new Pop3Client(
server.Pop3Url, server.Pop3Port, "userName", "password", SecurityOptions.Auto)) {
pop3Client.setTimeout(4000);
if (pop3Client.validateCredentials()) {
// to do something
}
}
Використання автентифікації CRAM‑MD5 для підключення до сервера
Щоб забезпечити безпечну автентифікацію та зв’язок з POP3‑сервером, можна вказати та примусово застосувати використання CRAM‑MD5 як дозволеного методу автентифікації для POP3‑клієнта. Нижче наведено код, який показує, як налаштувати дозволений тип автентифікації для Pop3Client:
popClient.setAllowedAuthentication(Pop3KnownAuthenticationType.CramMD5);
Як встановити тайм-аут для поштових операцій
Кожна поштові операція займає певний час залежно від багатьох факторів (затримки мережі, розмір даних, продуктивність сервера тощо). Ви можете встановити тайм-аут для всіх поштових операцій. Нижче наведено приклад коду, який демонструє, як це зробити за допомогою Тайм-аут властивість. Примітка: не варто встановлювати великі значення, аби уникнути тривалих очікувань у вашому застосунку.
try (Pop3Client pop3Client = new Pop3Client("host", 995, "username", "password", SecurityOptions.Auto))
{
pop3Client.setTimeout(60000); // 60 seconds
// some code...
}