Przydatne informacje nagłówka IMAP nie są wyświetlane

Używam standardowych funkcji IMAP, aby otrzymywać wiadomości e-mail w PHP. Muszę śledzićMessage-ID (iReferences iIn-Reply-To) dla każdej wiadomości do budowania wątków. Po wdrożeniu tego systemu chcę, aby użytkownicy mogli odpowiadać na wiadomości w swoim kliencie pocztowym, aby dodać wiadomość do wątku, ale w moim interfejsie internetowym odpowiedzi nie mogą być dołączone do oryginalnego postu, ponieważ nie mam naIn-Reply-To Identyfikator z dowolnego nagłówka wiadomości e-mail. użyłbymIn-Reply-To ID, aby załączyć swoją odpowiedź na powiadomienie, które wysłałem im o nowym poście, ale nie mogę, ponieważ nie mogę uzyskać identyfikatorów. Gdybym miałIn-Reply-To nagłówek, wiadomości można grupować, ponieważ łączy je wątek identyfikatorów.

Chcę także móc odpowiedzieć na każdą wiadomość wysyłaną przez użytkownika na adres e-mail serwera, jeśli wystąpił błąd z ich przesłaniem lub coś w tym stylu, w którym to przypadku będę potrzebowaćMessage-ID ich przesłania, abym mógł to uczynićIn-Reply-To Identyfikator wiadomości, którą wysyłam w odpowiedzi.

Nie mogę uzyskać wartościMessage-ID, aniIn-Reply-To nawet jeśli rzeczywiście mają wartości. (Przejdź do dowolnej wiadomości w Gmailu, kliknij menu rozwijane obok przycisku odpowiedzi, naciśnij przycisk „pokaż oryginał”, a zobaczysz, że wszystkie informacje nagłówka, których mi brakuje, gdy dzwonię do funkcji IMAP, faktycznie tam są, tak jak chociaż Gmail nie chce udostępniać tych informacji serwerom IMAP.)

Próbowałem różnych połączeń, które rzekomo pobierają informacje nagłówka (imap_headerinfo, imap_fetchheader, imap_fetch_overview), ale wszystkie zwracają tablicę rzadkich wartości dla informacji nagłówka, których nie potrzebuję. Po wykonaniu

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

Mogę uzyskać tylko kilka przydatnych wartości z nagłówka za pomocą jednego z tych połączeń:

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

Widzę takie rzeczySubject, To, Reply-Tooraz inne wartości nagłówka i wszystkie są dokładne, aleMessage-ID, References, In-Reply-To, a inne wartościowe informacje nagłówka są w dużej mierze nieobecne (raczej wartości tablic, które je reprezentują, są puste w każdym przypadku).

Prawie mogę zagwarantować, że problem nie dotyczy samego kodu, ponieważ widzę pewne wartości w nagłówkach i mogę z powodzeniem pobrać treść wiadomości; to po prostu tak, jakby Google filtrował informacje o nagłówku, które widzę.

Możesz zauważyć, że mam dokładnie to samo pytanie co nata strona, ale sugerowano, żebym zadał własne pytanie, więc to właśnie zrobiłem.

EDYTOWAĆ

Jeśli ktoś może mi dać odpowiedź na wiadomości z mojego serwera bez konieczności pobieraniaMessage-ID wiadomości, na którą odpowiadam, byłoby równie niesamowite.

EDYCJA 2

WymieniłemMessage-ID z każdej wiadomości w mojej bardzo dużej skrzynce odbiorczej i z tego co widzę, około 40% identyfikatorów faktycznie się pojawia. Jeśli ponownie uruchomię ten sam test, te same wiadomości zachowują swojeMessage-IDs. Szukam wzorca wśród wiadomości, które pokazująMessage-ID ale istnieją bardzo mocne dowody na brak wzorca wśród typów wiadomości.

Każda wiadomość w rzeczywistości maMessage-ID (Sprawdziłem to nawet w przypadku wiadomości, których identyfikatory nie pojawiają się w zapytaniach IMAP), ale funkcje IMAP ujawniają tylko identyfikator niektórych wiadomości.

questionAnswers(2)

yourAnswerToTheQuestion