J'ai ce code. C'est à partir de l'exemple Zend Reading Mail.Pourquoi ce message électronique ne décode-t-il pas correctement?
$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();
}
Ce que je peux obtenir est le message, qui fonctionne bien. Mais essayer de décoder le message en quelque chose de lisible ne fonctionne pas. J'ai essayé Zend_Mime, imap_mime et iconv sans chance.
Voici un exemple de ce que je reçois avec $foundPart->getContent();
Salle = F3 heim = FAr
Il faut dire "Halló heimúr"
Ce que je veux est que quelques-uns bibliothèque où je pouvais "appuyer sur le bouton, recevoir du bacon" dans la pratique. Ce que je veux dire, c'est que je veux juste pointer la bibliothèque vers une boîte email POP3 et obtenir l'email sous une forme lisible (sans aucun problème d'encodage) et les pièces jointes.
imap_mime_header_decode()
Donne-moi un tableau avec les mêmes données.
iconv_ mime_ decode()
Est-ce que le même
Est-ce que quelqu'un a une idée pourquoi cela se passe ou une bibliothèque où je peux juste abstraite cette distance (PHP/Python ou Perl)
imap_qprint() était l'astuce. Merci :) –
Ce n'est pas codé en base64. C'est Coté-imprimable: http://en.wikipedia.org/wiki/Quoted-printable –
Pawel a raison, la réponse n'est pas si simple. Reportez-vous à ma réponse pour une solution plus complète. – Andrew