diff -urN ../roundcubemail-1.5.2.orig/program/lib/Roundcube/rcube_imap_generic.php ./program/lib/Roundcube/rcube_imap_generic.php --- ../roundcubemail-1.5.2.orig/program/lib/Roundcube/rcube_imap_generic.php 2021-12-30 00:29:24.000000000 +0200 +++ ./program/lib/Roundcube/rcube_imap_generic.php 2022-05-12 18:58:41.693706000 +0300 @@ -2589,18 +2589,25 @@ $result[$id]->timestamp = rcube_utils::strtotime($string); break; case 'to': - $result[$id]->to = preg_replace('/undisclosed-recipients:[;,]*/', '', $string); +// $result[$id]->to = preg_replace('/undisclosed-recipients:[;,]*/', '', $string); + $result[$id]->to = (empty($result[$id]->to) ? '' : $result[$id]->to . ', ') . preg_replace('/undisclosed-recipients:[;,]*/', '', $string); break; case 'from': case 'subject': $string = substr($string, 0, 2048); - case 'cc': - case 'bcc': + if (empty($result[$id]->{$field})) $result[$id]->{$field} = $string; + break; case 'references': $result[$id]->{$field} = $string; break; + case 'cc': + case 'bcc': +// $result[$id]->{$field} = $string; + $result[$id]->{$field} = (empty($result[$id]->{$field}) ? '' : $result[$id]->{$field} . ', ') . $string; + break; case 'reply-to': - $result[$id]->replyto = $string; +// $result[$id]->replyto = $string; + $result[$id]->replyto = (empty($result[$id]->replyto) ? '' : $result[$id]->replyto . ', ') . $string; break; case 'content-transfer-encoding': $result[$id]->encoding = substr($string, 0, 32);