- Fix charset conversion for text attachments without charset specification (#1487634)

release-0.6
alecpl 14 years ago
parent b8793fdb99
commit 9840ab69e4

@ -21,6 +21,7 @@ CHANGELOG Roundcube Webmail
- Fix handling of untagged responses for AUTHENTICATE command (#1487450) - Fix handling of untagged responses for AUTHENTICATE command (#1487450)
- Add username and IP address to log message on unsuccessful login (#1487626) - Add username and IP address to log message on unsuccessful login (#1487626)
- Improved Mail-Followup-To and Mail-Reply-To headers handling - Improved Mail-Followup-To and Mail-Reply-To headers handling
- Fix charset conversion for text attachments without charset specification (#1487634)
RELEASE 0.5-BETA RELEASE 0.5-BETA
---------------- ----------------

@ -2429,20 +2429,21 @@ class rcube_imap
// TODO: Add caching for message parts // TODO: Add caching for message parts
if (!$part) $part = 'TEXT'; if (!$part) {
$part = 'TEXT';
}
$body = $this->conn->handlePartBody($this->mailbox, $uid, true, $part, $body = $this->conn->handlePartBody($this->mailbox, $uid, true, $part,
$o_part->encoding, $print, $fp); $o_part->encoding, $print, $fp);
if ($fp || $print) if ($fp || $print) {
return true; return true;
}
// convert charset (if text or message part) // convert charset (if text or message part) and part's charset is specified
if ($body && ($o_part->ctype_primary == 'text' || $o_part->ctype_primary == 'message')) { if ($body && $o_part->charset
// assume default if no charset specified && preg_match('/^(text|message)$/', $o_part->ctype_primary)
if (empty($o_part->charset) || strtolower($o_part->charset) == 'us-ascii') ) {
$o_part->charset = $this->default_charset;
$body = rcube_charset_convert($body, $o_part->charset); $body = rcube_charset_convert($body, $o_part->charset);
} }

Loading…
Cancel
Save