diff options
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | program/lib/Mail/mime.php | 6 | ||||
-rw-r--r-- | program/steps/mail/sendmail.inc | 15 |
3 files changed, 11 insertions, 11 deletions
@@ -1,6 +1,7 @@ CHANGELOG RoundCube Webmail =========================== +- Fix double-addition of e-mail domain to content ID in HTML images - Read and send messages with format=flowed (#1484370), fixes word wrapping issues (#1486543) - Fix duplicated attachments when forwarding a message (#1486487) - Fix message/rfc822 attachments containing only attachments are not parsed properly (#1486743) diff --git a/program/lib/Mail/mime.php b/program/lib/Mail/mime.php index ca54a8a6c..9065d469a 100644 --- a/program/lib/Mail/mime.php +++ b/program/lib/Mail/mime.php @@ -848,8 +848,10 @@ class Mail_mime $domainID = "@localhost"; } foreach ($this->_html_images as $i => $img) { - $this->_html_images[$i]['cid'] - = $this->_html_images[$i]['cid'] . $domainID; + $cid = $this->_html_images[$i]['cid']; + if (!preg_match('#'.preg_quote($domainID).'$#', $cid)) { + $this->_html_images[$i]['cid'] = $cid . $domainID; + } } } diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc index 2576a66b5..dedab99fa 100644 --- a/program/steps/mail/sendmail.inc +++ b/program/steps/mail/sendmail.inc @@ -95,18 +95,14 @@ function rcmail_get_identity($id) /** * go from this: - * <img src=".../tiny_mce/plugins/emotions/images/smiley-cool.gif" border="0" alt="Cool" title="Cool" /> + * <img src="http[s]://.../tiny_mce/plugins/emotions/images/smiley-cool.gif" border="0" alt="Cool" title="Cool" /> * * to this: * - * <IMG src="cid:smiley-cool.gif"/> + * <img src="/path/on/server/.../tiny_mce/plugins/emotions/images/smiley-cool.gif" border="0" alt="Cool" title="Cool" /> * ... - * ------part... - * Content-Type: image/gif - * Content-Transfer-Encoding: base64 - * Content-ID: <smiley-cool.gif> */ -function rcmail_attach_emoticons(&$mime_message) +function rcmail_fix_emoticon_paths(&$mime_message) { global $CONFIG; @@ -437,8 +433,9 @@ if ($isHtml) { $plugin = $RCMAIL->plugins->exec_hook('outgoing_message_body', array('body' => $plainTextPart, 'type' => 'alternative', 'message' => $MAIL_MIME)); $MAIL_MIME->setTXTBody($plugin['body']); - // look for "emoticon" images from TinyMCE and copy into message as attachments - $message_body = rcmail_attach_emoticons($MAIL_MIME); + // look for "emoticon" images from TinyMCE and change their src paths to + // be file paths on the server instead of URL paths. + $message_body = rcmail_fix_emoticon_paths($MAIL_MIME); } else { if ($footer) |