Как да получите набора от символи на съобщението (използвайки imap с php)
Как да получите набора от символи на съобщението (използвайки imap с php)
Отговори (2)
Или проверете mime заглавките, или просто отидете надолу http://php.net/manual/en/function.imap-utf8.php маршрут. По този начин ще бъдете дяволски сигурни, че всичко, което получавате, е UTF-8
person
Carlos Vergara
schedule
30.03.2011
imap_utf8() декодира RFC2047-кодирани заглавки, но не помага с тялото на съобщението.
- person dkarp; 31.03.2011
Всъщност това не е вярно, тъй като декодира RFC2047-кодирани STRINGS, каквато и да е тяхната роля. Този човек: php.net/manual/en/function.imap -utf8.php#102081 сочи в правилната посока. Другата ви опция (и при това слаба) е да проверите дали вашият пощенски агент е разбрал правилно своите типове съдържание на MIME тела. Мините са склонни да казват неща като: Content-Type: text/html; charset=ISO-8859-1
- person Carlos Vergara; 05.04.2011
Всички MIME тела, които съм извлякъл от злоупотреба с клас, който написах за предишен въпрос, носех някакъв вариант на това: =?iso-8859-8?b?7eXs+SDv4SDp7Oj08A==?= което RFC нарича кодирани думи. Разбирам, че не трябва да работят по този начин или каквото и да е, но все пак. Разбирам, че това е анекдотичен опит, но все пак е голям корпус от него.
- person Carlos Vergara; 09.04.2011
Като се замисля, бихте могли също така mb_detect_encoding($raw_mail, 'auto'); нали
- person Carlos Vergara; 09.04.2011
@Carlos: Вашият клас налага това кодиране върху съдържанието на частта от съобщението. Доверете ми се на това. Изкарвам прехраната си с писане на имейл сървъри. Или не ми вярвайте и прочетете RFC 2045.
- person dkarp; 13.04.2011
Трябва да използвате функцията imap_headerinfo() и след това да потърсите "charset" или дори "Content-Type", като използвате просто търсене.
http://www.php.net/manual/en/function.imap-headerinfo.php
person
Flipper
schedule
30.03.2011
Документите, които сте свързали, не включват нито charset, нито Content-Type във върнатите стойности.
- person dkarp; 31.03.2011