Фильтрация сообщений из почтового ящика Exchange
Фильтрация сообщений
Чтобы получить отфильтрованные сообщения из почтового ящика:
- Подключитесь к серверу Exchange.
- Создайте экземпляр MailQuery и установите желаемые свойства.
- Вызовите метод IEWSClient->ListMessages и передайте MailQuery в параметры, чтобы получить только отфильтрованные сообщения.
Следующий кодовый фрагмент показывает, как получить сообщения, у которых в теме есть строка “Newsletter” и которые были отправлены сегодня.
Фильтрация сообщений по критериям
В приведенных выше примерах кода сообщения фильтруются на основе темы электронной почты и даты. Мы также можем фильтровать и по другим свойствам. Ниже приведены некоторые примеры установки условий с использованием MailQuery.
Критерии фильтрации по сегодняшней дате
Следующий кодовый фрагмент показывает, как фильтровать электронные письма на основе сегодняшней даты.
Критерии фильтрации диапазона дат
Следующий кодовый фрагмент показывает, как фильтровать электронные письма на основе диапазона дат.
Критерии фильтрации по конкретному отправителю
Следующий кодовый фрагмент показывает, как фильтровать электронные письма на основе конкретного отправителя.
Критерии фильтрации по конкретному домену
Следующий кодовый фрагмент показывает, как фильтровать электронные письма на основе конкретного домена.
Критерии фильтрации по конкретному получателю
Следующий кодовый фрагмент показывает, как фильтровать электронные письма на основе конкретного получателя.
Критерии фильтрации по MessageID
Следующий кодовый фрагмент показывает, как фильтровать электронные письма на основе MessageID.
Критерии фильтрации всех уведомлений о доставке почты
Следующий кодовый фрагмент показывает, как фильтровать электронные письма на основе всех уведомлений о доставке почты.
Фильтрация по размеру сообщения
Построение сложных запросов
Если разные свойства MailQueryBuilder установлены в отдельном выражении, все условия будут выполнены. Например, чтобы получить сообщение в определенном диапазоне дат и от конкретного хоста, напишите три выражения:
Комбинирование запросов с AND
Следующий кодовый фрагмент показывает, как комбинировать запросы с AND.
Комбинирование запросов с OR
MailQueryBuilder предоставляет метод Or(), который принимает два экземпляра MailQuery в качестве параметров. Он получает сообщения, которые соответствуют любому из двух указанных условий. В следующем примере фильтруются сообщения, которые имеют слово “test” в теме или “noreply@host.com” в качестве отправителя. Следующий кодовый фрагмент показывает, как комбинировать запросы с OR.
Фильтрация электронной почты с учетом регистра
Электронные письма можно фильтровать с учетом регистра, указав флаг IgnoreCase в условиях фильтрации, как показано в следующем кодовом фрагменте.