Aleksander Machniak
2014-11-14 409b64934605d583ddc569570762da8adcdd5930
Fix lack of delimiter for recipient addresses in smtp_log (#1490150)
2 files modified
28 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/lib/Roundcube/rcube.php 27 ●●●●● patch | view | raw | blame | history
CHANGELOG
@@ -66,6 +66,7 @@
- Fix bug where creating subfolders in shared folders wasn't possible without ACL extension (#1490113)
- Fix reply scrolling issue with text mode and start message below the quote (#1490114)
- Fix possible issues in skin/skin_path config handling (#1490125)
- Fix lack of delimiter for recipient addresses in smtp_log (#1490150)
RELEASE 1.0.3
-------------
program/lib/Roundcube/rcube.php
@@ -1551,7 +1551,7 @@
        // send thru SMTP server using custom SMTP library
        if ($this->config->get('smtp_server')) {
            // generate list of recipients
            $a_recipients = array($mailto);
            $a_recipients = (array) $mailto;
            if (strlen($headers['Cc']))
                $a_recipients[] = $headers['Cc'];
@@ -1651,19 +1651,24 @@
            // remove MDN headers after sending
            unset($headers['Return-Receipt-To'], $headers['Disposition-Notification-To']);
            // get all recipients
            if ($headers['Cc'])
                $mailto .= $headers['Cc'];
            if ($headers['Bcc'])
                $mailto .= $headers['Bcc'];
            if (preg_match_all('/<([^@]+@[^>]+)>/', $mailto, $m))
                $mailto = implode(', ', array_unique($m[1]));
            if ($this->config->get('smtp_log')) {
                // get all recipient addresses
                if (is_array($mailto)) {
                    $mailto = implode(',', $mailto);
                }
                if ($headers['Cc']) {
                    $mailto .= ',' . $headers['Cc'];
                }
                if ($headers['Bcc']) {
                    $mailto .= ',' . $headers['Bcc'];
                }
                $mailto = rcube_mime::decode_address_list($mailto, null, false, null, true);
                self::write_log('sendmail', sprintf("User %s [%s]; Message for %s; %s",
                    $this->user->get_username(),
                    $_SERVER['REMOTE_ADDR'],
                    $mailto,
                    rcube_utils::remote_addr(),
                    implode(', ', $mailto),
                    !empty($response) ? join('; ', $response) : ''));
            }
        }