mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-02-18 03:11:40 +01:00
* eMail: remove invalid -at- when occurring in full name, when adding address to email; skip addresses that produce a parse error while parsed with imap_rfc822_parse_adrlist
This commit is contained in:
parent
cf2943435d
commit
3b8fa83acc
@ -729,7 +729,7 @@ class addressbook_ui extends addressbook_bo
|
|||||||
}
|
}
|
||||||
if($email)
|
if($email)
|
||||||
{
|
{
|
||||||
$contact['n_fn'] = str_replace(',',' ',$contact['n_fn']);
|
$contact['n_fn'] = str_replace(array(',','@'),' ',$contact['n_fn']);
|
||||||
egw_framework::set_onload("addEmail('".addslashes(
|
egw_framework::set_onload("addEmail('".addslashes(
|
||||||
$contact['n_fn'] ? $contact['n_fn'].' <'.trim($email).'>' : trim($email))."');");
|
$contact['n_fn'] ? $contact['n_fn'].' <'.trim($email).'>' : trim($email))."');");
|
||||||
//error_log(__METHOD__.__LINE__."addEmail('".addslashes(
|
//error_log(__METHOD__.__LINE__."addEmail('".addslashes(
|
||||||
|
@ -71,7 +71,7 @@
|
|||||||
foreach(array($contact['email'],$contact['email_home']) as $email) {
|
foreach(array($contact['email'],$contact['email_home']) as $email) {
|
||||||
// avoid wrong addresses, if an rfc822 encoded address is in addressbook
|
// avoid wrong addresses, if an rfc822 encoded address is in addressbook
|
||||||
$email = preg_replace("/(^.*<)([a-zA-Z0-9_\-]+@[a-zA-Z0-9_\-\.]+)(.*)/",'$2',$email);
|
$email = preg_replace("/(^.*<)([a-zA-Z0-9_\-]+@[a-zA-Z0-9_\-\.]+)(.*)/",'$2',$email);
|
||||||
$contact['n_fn'] = str_replace(',',' ',$contact['n_fn']);
|
$contact['n_fn'] = str_replace(array(',','@'),' ',$contact['n_fn']);
|
||||||
$completeMailString = addslashes(trim($contact['n_fn'] ? $contact['n_fn'] : $contact['fn']) .' <'. trim($email) .'>');
|
$completeMailString = addslashes(trim($contact['n_fn'] ? $contact['n_fn'] : $contact['fn']) .' <'. trim($email) .'>');
|
||||||
if(!empty($email) && in_array($completeMailString ,$jsArray) === false) {
|
if(!empty($email) && in_array($completeMailString ,$jsArray) === false) {
|
||||||
$i++;
|
$i++;
|
||||||
|
@ -712,40 +712,44 @@
|
|||||||
foreach((array)$_formData['to'] as $address) {
|
foreach((array)$_formData['to'] as $address) {
|
||||||
$address_array = imap_rfc822_parse_adrlist((get_magic_quotes_gpc()?stripslashes($address):$address), '');
|
$address_array = imap_rfc822_parse_adrlist((get_magic_quotes_gpc()?stripslashes($address):$address), '');
|
||||||
foreach((array)$address_array as $addressObject) {
|
foreach((array)$address_array as $addressObject) {
|
||||||
|
if ($addressObject->host == '.SYNTAX-ERROR.') continue;
|
||||||
$emailAddress = $addressObject->mailbox. (!empty($addressObject->host) ? '@'.$addressObject->host : '');
|
$emailAddress = $addressObject->mailbox. (!empty($addressObject->host) ? '@'.$addressObject->host : '');
|
||||||
#$emailName = $bofelamimail->encodeHeader($addressObject->personal, 'q');
|
#$emailName = $bofelamimail->encodeHeader($addressObject->personal, 'q');
|
||||||
#$_mailObject->AddAddress($emailAddress, $emailName);
|
#$_mailObject->AddAddress($emailAddress, $emailName);
|
||||||
$_mailObject->AddAddress($emailAddress, $addressObject->personal);
|
$_mailObject->AddAddress($emailAddress, str_replace(array('@'),' ',$addressObject->personal));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach((array)$_formData['cc'] as $address) {
|
foreach((array)$_formData['cc'] as $address) {
|
||||||
$address_array = imap_rfc822_parse_adrlist((get_magic_quotes_gpc()?stripslashes($address):$address),'');
|
$address_array = imap_rfc822_parse_adrlist((get_magic_quotes_gpc()?stripslashes($address):$address),'');
|
||||||
foreach((array)$address_array as $addressObject) {
|
foreach((array)$address_array as $addressObject) {
|
||||||
|
if ($addressObject->host == '.SYNTAX-ERROR.') continue;
|
||||||
$emailAddress = $addressObject->mailbox. (!empty($addressObject->host) ? '@'.$addressObject->host : '');
|
$emailAddress = $addressObject->mailbox. (!empty($addressObject->host) ? '@'.$addressObject->host : '');
|
||||||
#$emailName = $bofelamimail->encodeHeader($addressObject->personal, 'q');
|
#$emailName = $bofelamimail->encodeHeader($addressObject->personal, 'q');
|
||||||
#$_mailObject->AddCC($emailAddress, $emailName);
|
#$_mailObject->AddCC($emailAddress, $emailName);
|
||||||
$_mailObject->AddCC($emailAddress, $addressObject->personal);
|
$_mailObject->AddCC($emailAddress, str_replace(array('@'),' ',$addressObject->personal));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach((array)$_formData['bcc'] as $address) {
|
foreach((array)$_formData['bcc'] as $address) {
|
||||||
$address_array = imap_rfc822_parse_adrlist((get_magic_quotes_gpc()?stripslashes($address):$address),'');
|
$address_array = imap_rfc822_parse_adrlist((get_magic_quotes_gpc()?stripslashes($address):$address),'');
|
||||||
foreach((array)$address_array as $addressObject) {
|
foreach((array)$address_array as $addressObject) {
|
||||||
|
if ($addressObject->host == '.SYNTAX-ERROR.') continue;
|
||||||
$emailAddress = $addressObject->mailbox. (!empty($addressObject->host) ? '@'.$addressObject->host : '');
|
$emailAddress = $addressObject->mailbox. (!empty($addressObject->host) ? '@'.$addressObject->host : '');
|
||||||
#$emailName = $bofelamimail->encodeHeader($addressObject->personal, 'q');
|
#$emailName = $bofelamimail->encodeHeader($addressObject->personal, 'q');
|
||||||
#$_mailObject->AddBCC($emailAddress, $emailName);
|
#$_mailObject->AddBCC($emailAddress, $emailName);
|
||||||
$_mailObject->AddBCC($emailAddress, $addressObject->personal);
|
$_mailObject->AddBCC($emailAddress, str_replace(array('@'),' ',$addressObject->personal));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach((array)$_formData['replyto'] as $address) {
|
foreach((array)$_formData['replyto'] as $address) {
|
||||||
$address_array = imap_rfc822_parse_adrlist((get_magic_quotes_gpc()?stripslashes($address):$address),'');
|
$address_array = imap_rfc822_parse_adrlist((get_magic_quotes_gpc()?stripslashes($address):$address),'');
|
||||||
foreach((array)$address_array as $addressObject) {
|
foreach((array)$address_array as $addressObject) {
|
||||||
|
if ($addressObject->host == '.SYNTAX-ERROR.') continue;
|
||||||
$emailAddress = $addressObject->mailbox. (!empty($addressObject->host) ? '@'.$addressObject->host : '');
|
$emailAddress = $addressObject->mailbox. (!empty($addressObject->host) ? '@'.$addressObject->host : '');
|
||||||
#$emailName = $bofelamimail->encodeHeader($addressObject->personal, 'q');
|
#$emailName = $bofelamimail->encodeHeader($addressObject->personal, 'q');
|
||||||
#$_mailObject->AddBCC($emailAddress, $emailName);
|
#$_mailObject->AddBCC($emailAddress, $emailName);
|
||||||
$_mailObject->AddReplyto($emailAddress, $addressObject->personal);
|
$_mailObject->AddReplyto($emailAddress, str_replace(array('@'),' ',$addressObject->personal));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -980,6 +984,7 @@
|
|||||||
//$mail->SMTPDebug = 10;
|
//$mail->SMTPDebug = 10;
|
||||||
//error_log("Folder:".count(array($this->sessionData['folder']))."To:".count((array)$this->sessionData['to'])."CC:". count((array)$this->sessionData['cc']) ."bcc:".count((array)$this->sessionData['bcc']));
|
//error_log("Folder:".count(array($this->sessionData['folder']))."To:".count((array)$this->sessionData['to'])."CC:". count((array)$this->sessionData['cc']) ."bcc:".count((array)$this->sessionData['bcc']));
|
||||||
if(count((array)$this->sessionData['to']) > 0 || count((array)$this->sessionData['cc']) > 0 || count((array)$this->sessionData['bcc']) > 0) {
|
if(count((array)$this->sessionData['to']) > 0 || count((array)$this->sessionData['cc']) > 0 || count((array)$this->sessionData['bcc']) > 0) {
|
||||||
|
error_log(__METHOD__.__LINE__.array2string($mail));
|
||||||
try {
|
try {
|
||||||
$mail->Send();
|
$mail->Send();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user