Фільтрація електронної пошти з поштового сервера
Фільтрація повідомлень за відправником, отримувачем або датою
The Pop3Client клас, описаний у Підключення до POP3‑серверу, надає ListMessages() метод, який отримує всі повідомлення зі скриньки. Щоб отримати лише повідомлення, що відповідають певній умові, використовуйте перевантажений ListMessages() метод, який приймає MailQuery як аргумент. MailQuery клас надає різні властивості для вказання умов запиту, наприклад, дата, тема, відправник, отримувач тощо. MailQueryBuilder клас використовується для створення виразу пошуку. Спочатку встановлюються всі умови та обмеження, а потім MailQuery заповнюється запитом, розробленим MailQueryBuilder. The MailQuery об’єкт класу використовується Pop3Client для отримання відфільтрованої інформації з сервера. У цій статті показано, як фільтрувати електронні листи в поштовій скриньці. Перший приклад ілюструє фільтрацію повідомлень за датою та темою. Ми також показуємо, як фільтрувати за іншими критеріями та як будувати більш складні запити. Також демонструється застосування фільтра дати та часу для отримання конкретних листів. Крім того, показано, як застосовувати чутливе до регістру фільтрування.
Фільтрація повідомлень у поштовій скриньці
Щоб фільтрувати повідомлення зі скриньки:
- Підключення до POP3‑серверу.
- Створіть екземпляр MailQuery і встановити потрібні властивості.
- Викличте Pop3Client.ListMessages(MailQuery query) метод і передаєте MailQuery у параметрах, щоб отримати лише відфільтровані повідомлення.
Наступний фрагмент коду показує, як підключитися до POP3 скриньки та отримати повідомлення, які надійшли сьогодні і мають слово "newsletter" у темі.
Отримання повідомлень за визначеним критерієм
Кодові приклади вище показує, як можна фільтрувати повідомлення за темою листа та датою. Ми можемо використовувати інші властивості для встановлення інших підтримуваних умов. Нижче наведено кілька прикладів встановлення умов за допомогою MailQuery.
Наступні фрагменти коду показують, як фільтрувати листи за іншими критеріями:
- Знайти листи, доставлені сьогодні.
- Знайти листи, отримані в діапазоні.
- Знайти листи від конкретного відправника.
- Знайти листи, надіслані з конкретного домену.
- Знайти листи, надіслані конкретному отримувачу.
Сьогоднішня дата
Наступний фрагмент коду показує, як знайти листи, доставлені сьогодні.
Діапазон дат
Наступний фрагмент коду показує, як знайти листи, отримані в діапазоні.
Конкретний відправник
Наступний фрагмент коду показує, як знайти листи від конкретного відправника.
Конкретний домен
Наступний фрагмент коду показує, як знайти листи, надіслані з конкретного домену.
Конкретний отримувач
Наступний фрагмент коду показує, як знайти листи, надіслані конкретному отримувачу.
Створення складних запитів
Якщо різні MailQueryBuilder властивості встановлюються в окремих інструкціях, після чого будуть виконані всі умови. Наприклад, якщо ми хочемо отримати повідомлення в діапазоні дат і від конкретного хоста, нам треба написати три інструкції.
Комбінувати запити за AND
Наступний фрагмент коду показує, як поєднувати запити за допомогою AND.
Комбінувати запити за OR
MailQueryBuilder надає Or() метод, який приймає два MailQuery екземпляри як параметри. Він отримує повідомлення, які відповідають будь-якій з двох зазначених умов. Наведений нижче фрагмент коду показує, як фільтрувати повідомлення, у яких у темі є «test» або відправником є "noreply@host.com". Фрагмент коду демонструє, як об’єднувати запити за допомогою OR.
Чутливі до регістру фільтри
API також надає можливість фільтрувати електронні листи зі скриньки за чутливим до регістру критерієм. Наступні методи забезпечують можливість пошуку листів з вказаним прапором чутливості до регістру.
- Method Aspose.Email.StringComparisonField.Contains(string value, bool ignoreCase)
- Method Aspose.Email.StringComparisonField.Equals(string value, bool ignoreCase)
- Method Aspose.Email.StringComparisonField.NotContains(string value, bool ignoreCase)
- Method Aspose.Email.StringComparisonField.NotEquals(string value, bool ignoreCase)