Полезная информация заголовка IMAP не отображается

используя стандартные функции IMAP для получения писем на PHP. Мне нужно следить заMessage-ID (а такжеReferences а такжеIn-Reply-To) для каждого сообщения строить потоки. Как только эта система будет развернута, я хочу, чтобы пользователи могли отвечать на сообщения в своем почтовом клиенте, чтобы добавить сообщение в поток, но в моем веб-интерфейсе ответы могут:не быть прикрепленным к оригинальному сообщению, потому что я нене иметьIn-Reply-To Идентификатор из любых заголовков электронной почты. я хотел бы использоватьIn-Reply-To ID, чтобы прикрепить их ответ к уведомлению о новом сообщении, которое я отправил им, но я не могупотому что я могуне получить идентификаторы. Если бы у меня былIn-Reply-To заголовок, сообщения могут быть сгруппированы, так как есть поток идентификаторов, соединяющих их.

Кроме того, я хочу иметь возможность отвечать на любое сообщение, которое пользователь отправляет на адрес электронной почты сервера, если произошла ошибка с его отправкой или что-то подобное, в этом случае я 'понадобитсяMessage-ID их сообщения, чтобы я мог сделать этоIn-Reply-To Идентификатор сообщения, которое я отправляю в ответ.

Я могу'т получить значения дляMessage-IDниIn-Reply-To даже если они на самом деле имеют значения. (Перейдите к любому сообщению в Gmail, щелкните раскрывающееся меню рядом с кнопкой ответа и нажмите "показать оригинал", и вы увидите, что вся информация заголовка, которая отсутствует для меня при вызове функций IMAP, на самом деле там, как если бы Gmail нея не хочу передавать эту информацию серверам IMAP.)

мы пробовали различные вызовы, которые предположительно получают информацию заголовка (,,imap_headerinfoimap_fetchheaderimap_fetch_overview), но все они возвращают массив разреженных значений для информации заголовка, которую я нене нужно. После выполнения

$this->mbox = imap_open('{imap.gmail.com:993/imap/ssl}', $email, $password);

Я могу получить только несколько полезных значений из заголовка с помощью любого из этих вызовов:

imap_header($this->getImapStream(), "1");
imap_fetch_overview($this->getImapStream(), "1");
imap_fetchheader($this->getImapStream(), "1");

Я вижу такие вещи, как,SubjectToReply-Toи другие значения заголовка, и все они являются точными, но,Message-IDReferencesIn-Reply-Toи другая ценная информация заголовка в основном отсутствует (скорее, значения массива, которые их представляют, пусты в каждом случае).

Я могу почти гарантировать, что проблема неt с самим кодом, так как я вижу некоторые значения в заголовках и могу успешно извлекать тела сообщений; Это'Просто, как будто Google фильтрует, какую информацию заголовка я вижу.

Вы можете заметить, что у меня точно такой же вопрос, как наэта страница, но было предложено, чтобы я сделал свой собственный вопрос, так чточто ямы сделали.

РЕДАКТИРОВАТЬ

Если кто-то может дать мне возможность отвечать на сообщения с моего сервера без необходимости извлекатьMessage-ID сообщения, к которому яЯ отвечаю, чтобыл бы одинаково крут.

РЕДАКТИРОВАТЬ 2

Я перечислилMessage-ID из каждого сообщения в моем очень большом почтовом ящике и, насколько я вижу, около 40% идентификаторов действительно отображаются. Если я снова запускаю тот же тест, те же сообщения сохраняют своиMessage-IDs. Я ищу шаблон среди сообщений, которые показываютMessage-ID но есть очень веские доказательства отсутствия шаблонов среди типов сообщений.

Каждое сообщение в действительности имеетMessage-ID (и я проверил это даже для сообщений, чьи идентификаторы нене отображаются с запросами IMAP), но функции IMAP показывают только идентификатор некоторых сообщений.

Ответы на вопрос(2)

Ваш ответ на вопрос