From fb4b2e147895f04a92db8473a9065b170cf49a9c Mon Sep 17 00:00:00 2001 From: Klaus Leithoff Date: Wed, 15 Jan 2014 10:31:08 +0000 Subject: [PATCH] fix problem with broken rfc mailaddress on parsing for activesync --- mail/inc/class.mail_activesync.inc.php | 2 +- mail/inc/class.mail_bo.inc.php | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/mail/inc/class.mail_activesync.inc.php b/mail/inc/class.mail_activesync.inc.php index f8cc68def2..02f0470a95 100644 --- a/mail/inc/class.mail_activesync.inc.php +++ b/mail/inc/class.mail_activesync.inc.php @@ -1305,7 +1305,7 @@ class mail_activesync implements activesync_plugin_write, activesync_plugin_send // $output->from = $this->messages[$id]['sender_address']; //$stat['FETCHED_HEADER']['sender_name'] //error_log(__METHOD__.__LINE__.' To:'.$headers['TO']); $output->to = $headers['TO']; -error_log(__METHOD__.__LINE__.' From:'.$headers['FROM']); +//error_log(__METHOD__.__LINE__.' From:'.$headers['FROM']); $output->from = $headers['FROM']; $output->cc = ($headers['CC'] ? $headers['CC']:null); $output->reply_to = ($headers['REPLY_TO']?$headers['REPLY_TO']:null); diff --git a/mail/inc/class.mail_bo.inc.php b/mail/inc/class.mail_bo.inc.php index 8381d656dd..7fe7786884 100644 --- a/mail/inc/class.mail_bo.inc.php +++ b/mail/inc/class.mail_bo.inc.php @@ -1657,7 +1657,7 @@ class mail_bo $_string = translation::decodeMailHeader($_string,self::$displayCharset); if ($_tryIDNConversion===true && stripos($_string,'@')!==false) { - $rfcAddr = imap_rfc822_parse_adrlist($_string,''); + $rfcAddr = imap_rfc822_parse_adrlist(str_replace(',','\,',$_string),''); if (!isset(self::$idna2)) self::$idna2 = new egw_idna; $stringA = array(); //$_string = str_replace($rfcAddr[0]->host,self::$idna2->decode($rfcAddr[0]->host),$_string); @@ -4090,6 +4090,7 @@ class mail_bo } } $retValue = array_change_key_case($retValue,CASE_UPPER); + //error_log(__METHOD__.__LINE__.array2string($retValue)); // if SUBJECT is an array, use thelast one, as we assume something with the unfolding for the subject did not work if (is_array($retValue['SUBJECT'])) {