Fix lower-casing email address on replies (#1488598)

Conflicts:

	CHANGELOG
release-0.7
Aleksander Machniak 12 years ago
parent c2c162c240
commit 1ff03fb29d

@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Fix lower-casing email address on replies (#1488598)
- Fix so subscribed non-existing/non-accessible shared folder can be unsubscribed
RELEASE 0.7.3

@ -581,6 +581,29 @@ function array_keys_recursive($array)
}
/**
* Format e-mail address
*
* @param string $email E-mail address
*
* @return string Formatted e-mail address
*/
function format_email($email)
{
$email = trim($email);
$parts = explode('@', $email);
$count = count($parts);
if ($count > 1) {
$parts[$count-1] = mb_strtolower($parts[$count-1]);
$email = implode('@', $parts);
}
return $email;
}
/**
* mbstring replacement functions
*/

@ -243,7 +243,8 @@ $MESSAGE->identities = $USER->list_identities();
if (count($MESSAGE->identities))
{
foreach ($MESSAGE->identities as $idx => $ident) {
$email = mb_strtolower(rcube_idn_to_utf8($ident['email']));
$ident['email'] = format_email($ident['email']);
$email = format_email(rcube_idn_to_utf8($ident['email']));
$MESSAGE->identities[$idx]['email_ascii'] = $ident['email'];
$MESSAGE->identities[$idx]['ident'] = format_email_recipient($ident['email'], $ident['name']);
@ -268,7 +269,7 @@ else if (count($MESSAGE->identities)) {
$a_to = $IMAP->decode_address_list($MESSAGE->headers->to);
foreach ($a_to as $addr) {
if (!empty($addr['mailto'])) {
$a_recipients[] = strtolower($addr['mailto']);
$a_recipients[] = format_email($addr['mailto']);
$a_names[] = $addr['name'];
}
}
@ -277,7 +278,7 @@ else if (count($MESSAGE->identities)) {
$a_cc = $IMAP->decode_address_list($MESSAGE->headers->cc);
foreach ($a_cc as $addr) {
if (!empty($addr['mailto'])) {
$a_recipients[] = strtolower($addr['mailto']);
$a_recipients[] = format_email($addr['mailto']);
$a_names[] = $addr['name'];
}
}
@ -424,7 +425,7 @@ foreach ($parts as $header) {
if (empty($addr_part['mailto']))
continue;
$mailto = mb_strtolower(rcube_idn_to_utf8($addr_part['mailto']));
$mailto = format_email(rcube_idn_to_utf8($addr_part['mailto']));
if (!in_array($mailto, $a_recipients)
&& ($header == 'to' || empty($MESSAGE->compose['from_email']) || $mailto != $MESSAGE->compose['from_email'])

Loading…
Cancel
Save