Index: mailhandler.retrieve.inc =================================================================== RCS file: /cvs/drupal/contributions/modules/mailhandler/Attic/mailhandler.retrieve.inc,v retrieving revision 1.1.2.16 diff -u -p -r1.1.2.16 mailhandler.retrieve.inc --- mailhandler.retrieve.inc 8 Dec 2008 21:03:20 -0000 1.1.2.16 +++ mailhandler.retrieve.inc 12 Dec 2008 04:32:57 -0000 @@ -188,18 +188,16 @@ function mailhandler_get_parts($stream, return $parts; } - // convert text attachment to UTF-8. - if ($structure->type == TYPETEXT) { - $part->data = imap_utf8($part->data); + // Decode as necessary. + if ($structure->encoding == ENCBASE64) { + $part->data = imap_base64($part->data); } - else { - // If not text then decode as necessary - if ($structure->encoding == ENCBASE64) { - $part->data = imap_base64($part->data); - } - else if ($structure->encoding == ENCQUOTEDPRINTABLE) { - $part->data = quoted_printable_decode($part->data); - } + elseif ($structure->encoding == ENCQUOTEDPRINTABLE) { + $part->data = quoted_printable_decode($part->data); + } + // Convert text attachment to UTF-8. + elseif ($structure->type == TYPETEXT) { + $part->data = imap_utf8($part->data); } //always return an array to satisfy array_merge in recursion catch, and array return value.