I have this code. It\'s from the Zend Reading Mail example.
$message = $mail->getMessage(1);
// output first text/plain part
$foundPart = null;
foreach (
I ran into some similar issues while learning how to use Zend_Mail for reading emails. You will need to add additional logic that Zend_Mail doesn't implement, such as decoding encoded emails, and converting the character set. Here's what I'm doing after finding the plain text part:
$content = $foundPart->getContent();
switch ($foundPart->contentTransferEncoding) {
case 'base64':
$content = base64_decode($content);
break;
case 'quoted-printable':
$content = quoted_printable_decode($content);
break;
}
//find the charset
preg_match('/charset="(.+)"$/', $foundPart->contentType, $matches);
$charset = $matches[1];
if ($charset == 'iso-8859-1') {
$content = utf8_encode($content); //convert to utf8
}
This could be because of base64 encoding. The Zend_Mail docs say (under 'encoding'):
...All other attachments are encoded via base64 if no other encoding is given in the addAttachment() call or assigned to the MIME part object later.
Try something like:
echo base64_decode($foundPart->getContent());
Also, read: http://framework.zend.com/manual/en/zend.mail.encoding.html
Hope that helped somehow.