Commit d5246257 authored by YANO Takashi's avatar YANO Takashi

ZP-869 utf-7 charset conversion: some folders are not shown.Released under the...

ZP-869 utf-7 charset conversion: some folders are not shown.Released under the Affero GNU General Public License (AGPL) version 3.
parent 2acbb00b
...@@ -144,8 +144,7 @@ class Mail_mail extends Mail { ...@@ -144,8 +144,7 @@ class Mail_mail extends Mail {
// pass it as a seperate argument to mail(). // pass it as a seperate argument to mail().
$subject = ''; $subject = '';
if (isset($headers['Subject'])) { if (isset($headers['Subject'])) {
mb_internal_encoding("UTF-8"); $subject = $headers['Subject'];
$subject = mb_encode_mimeheader($headers['Subject']);
unset($headers['Subject']); unset($headers['Subject']);
} }
......
...@@ -201,6 +201,18 @@ class BackendIMAP extends BackendDiff implements ISearchProvider { ...@@ -201,6 +201,18 @@ class BackendIMAP extends BackendDiff implements ISearchProvider {
} }
unset($Mail_RFC822); unset($Mail_RFC822);
if (isset($message->headers["subject"]) and mb_detect_encoding($message->headers["subject"], "UTF-8") != FALSE and preg_match('/[^\x00-\x7F]/', $message->headers["subject"]) == 1) {
mb_internal_encoding("UTF-8");
ZLog::Write(LOGLEVEL_DEBUG, sprintf("BackendIMAP->SendMail(): Subject in raw UTF-8: %s", $message->headers["subject"]));
$message->headers["subject"] = mb_encode_mimeheader($message->headers["subject"]);
}
if (isset($message->headers["subject"]) and mb_detect_encoding($message->headers["subject"], "UTF-8") != FALSE) {
ZLog::Write(LOGLEVEL_DEBUG, sprintf("BackendIMAP->SendMail(): Subject in raw UTF-8: %s", $message->headers["subject"]));
mb_internal_encoding("UTF-8");
$message->headers["subject"] = mb_encode_mimeheader($message->headers["subject"]);
}
$this->setReturnPathValue($message->headers, $fromaddr); $this->setReturnPathValue($message->headers, $fromaddr);
$finalBody = ""; $finalBody = "";
...@@ -2477,10 +2489,6 @@ class BackendIMAP extends BackendDiff implements ISearchProvider { ...@@ -2477,10 +2489,6 @@ class BackendIMAP extends BackendDiff implements ISearchProvider {
*/ */
private function saveSentMessage($finalHeaders, $finalBody) { private function saveSentMessage($finalHeaders, $finalBody) {
ZLog::Write(LOGLEVEL_DEBUG, sprintf("BackendIMAP->saveSentMessage(): saving message in Sent Items folder")); ZLog::Write(LOGLEVEL_DEBUG, sprintf("BackendIMAP->saveSentMessage(): saving message in Sent Items folder"));
if ( isset($finalHeaders['Subject']) ) {
mb_internal_encoding("UTF-8");
$finalHeaders['Subject'] = mb_encode_mimeheader($finalHeaders['Subject']);
}
$headers = ""; $headers = "";
foreach ($finalHeaders as $k => $v) { foreach ($finalHeaders as $k => $v) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment