Поиск по электронной почте без загрузки — IMAP

Могу ли я искать ВСЕ электронные письма по IMAP без загрузить сообщение (я)?

Как указано в 6.4.4 из RFC 3501 IMAP версии 4, редакция 1 (IMAP4rev1):

Команда SEARCH ищет в почтовом ящике сообщения, которые соответствуют
данные критерии поиска. Критерии поиска состоят из одного
или больше ключей поиска. Неисследованный ответ ПОИСКА с сервера
содержит список порядковых номеров сообщений, соответствующих
те сообщения, которые соответствуют критериям поиска.

Определенные ключи поиска являются следующими. Обратитесь к Формальному
Секция синтаксиса для точных синтаксических определений
аргументы

ТЕЛО
Сообщения, которые содержит указанную строку в теле
сообщение.

…поэтому мне интересно, могу ли я искать внутри тела письма, не загружая его сначала?

0

Решение

Функция imap_search() может помочь вам, но имейте в виду, что он должен поддерживаться сервером IMAP для работы.

ОБНОВИТЬ:

Это небольшая программа:

error_reporting(E_ALL);
ini_set('display_errors', '1');

$user = '';         // put your Gmail email address here (including '@gmail.com');
$pass = '';         // put your Gmail password here
$host = 'imap.gmail.com:993';      // Put your IMAP server here with portGmail
$keyword = '';      // put the word you want to find$mailbox = sprintf('{%s/imap/ssl/user=%s}INBOX', $host, $user);
$query = sprintf('BODY "%s"', $keyword);

$mbox  = imap_open($mailbox, $user, $pass, OP_READONLY);
if ($mbox) {
$list = imap_search($mbox, $query, SE_UID);
var_dump($list);
imap_close($mbox);
}

Это может или не может работать с вашей настройкой. У меня это работало с одним аккаунтом на почтовом сервере нашей компании. Не удалось подключиться к другому серверу, который отлично работает с моим обычным почтовым клиентом.

Это сработало и не удалось одновременно (!!) с Gmail. Не спрашивай!

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]