У меня этот код. Это из примера Zend Reading Mail.Почему это почтовое сообщение не декодировано правильно?
$message = $mail->getMessage(1);
// output first text/plain part
$foundPart = null;
foreach (new RecursiveIteratorIterator($mail->getMessage(1)) as $part) {
try {
if (strtok($part->contentType, ';') == 'text/plain') {
$foundPart = $part;
break;
}
} catch (Zend_Mail_Exception $e) {
// ignore
}
}
if (!$foundPart) {
echo 'no plain text part found';
} else {
echo $foundPart->getContent();
}
Что я могу получить, это сообщение, которое отлично работает. Но попытка декодировать сообщение во что-то читаемое не работает. Я не пробовал Zend_Mime, imap_mime и iconv.
Это пример того, что я получаю с $foundPart->getContent();
Hall = F3 Heim = FAr
Он должен сказать "Алло heimúr"
То, что я хотел бы лишь некоторые где я мог «нажимать кнопку, получать бекон» на практике. Я имею в виду, я просто хочу указать библиотеку в поле электронной почты POP3 и получить электронное письмо в удобочитаемой форме (без каких-либо проблем с кодировкой) и вложения.
imap_mime_header_decode()
Дает мне массив с одинаковыми данными.
iconv_ mime_ decode()
ли же
Кто-нибудь есть какие-либо идеи, почему это происходит, или какую-то библиотеку, где я могу просто абстрактные это далеко (PHP/Python или Perl)
imap_qprint() был трюком. Спасибо :) –
Это не base64 закодировано. Он цитируется: http://en.wikipedia.org/wiki/Quoted-printable –
Правильно, ответ не такой простой. Обратитесь к моему ответу за более полное решение. – Andrew