CHANGELOG | ●●●●● patch | view | raw | blame | history | |
program/include/rcube_message.php | ●●●●● patch | view | raw | blame | history | |
program/steps/mail/func.inc | ●●●●● patch | view | raw | blame | history | |
program/steps/mail/sendmail.inc | ●●●●● patch | view | raw | blame | history |
CHANGELOG
@@ -1,6 +1,8 @@ CHANGELOG Roundcube Webmail =========================== - Fix IDN address validation issue (#1488137) - Fix JS error when dst_active checkbox doesn't exist (#1488133) - Autocomplete LDAP records when adding contacts from mail (#1488073) - Plugin API: added 'ready' hook (#1488063) - Ignore DSN request when it isn't supported by SMTP server (#1487800) program/include/rcube_message.php
@@ -48,7 +48,6 @@ public $uid = null; public $headers; public $structure; public $parts = array(); public $mime_parts = array(); public $attachments = array(); program/steps/mail/func.inc
@@ -1037,14 +1037,8 @@ rcmail_plain_body(Q($MESSAGE->body, 'strict', false)))); } $ctype_primary = strtolower($MESSAGE->structure->ctype_primary); $ctype_secondary = strtolower($MESSAGE->structure->ctype_secondary); // list images after mail body if ($CONFIG['inline_images'] && $ctype_primary == 'multipart' && !empty($MESSAGE->attachments)) { if ($CONFIG['inline_images'] && !empty($MESSAGE->attachments)) { foreach ($MESSAGE->attachments as $attach_prop) { // Content-Type: image/*... if (preg_match('/^image\//i', $attach_prop->mimetype) || @@ -1427,6 +1421,7 @@ $rcmail = rcmail::get_instance(); $rcmail->plugins->exec_hook('attachments_cleanup', array('group' => $id)); $rcmail->session->remove('compose_data_'.$id); $rcmail->session->remove('compose'); } program/steps/mail/sendmail.inc
@@ -159,14 +159,14 @@ $item = trim($item); // address in brackets without name (do nothing) if (preg_match('/^<'.$email_regexp.'>$/', $item)) { $item = rcube_idn_to_ascii($item); $result[] = $item; $item = rcube_idn_to_ascii(trim($item, '<>')); $result[] = '<' . $item . '>'; // address without brackets and without name (add brackets) } else if (preg_match('/^'.$email_regexp.'$/', $item)) { $item = rcube_idn_to_ascii($item); $result[] = '<'.$item.'>'; $result[] = '<' . $item . '>'; // address with name (handle name) } else if (preg_match('/'.$email_regexp.'>*$/', $item, $matches)) { } else if (preg_match('/<*'.$email_regexp.'>*$/', $item, $matches)) { $address = $matches[0]; $name = str_replace($address, '', $item); $name = trim($name); @@ -174,9 +174,8 @@ && preg_match('/[\(\)\<\>\\\.\[\]@,;:"]/', $name)) { $name = '"'.addcslashes($name, '"').'"'; } $address = rcube_idn_to_ascii($address); if (!preg_match('/^<'.$email_regexp.'>$/', $address)) $address = '<'.$address.'>'; $address = rcube_idn_to_ascii(trim($address, '<>')); $address = '<' . $address . '>'; $result[] = $name.' '.$address; $item = $address;