Improve the parsing of email addresses in wp_mail to re-support RFC2822 nameless "<address@tld.com>" style. Fixes #18463 props kitchin and SergeyBiryukov.
git-svn-id: https://develop.svn.wordpress.org/trunk@18717 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
442590c211
commit
d01e2af94b
|
@ -338,13 +338,13 @@ function wp_mail( $to, $subject, $message, $headers = '', $attachments = array()
|
||||||
try {
|
try {
|
||||||
// Break $recipient into name and address parts if in the format "Foo <bar@baz.com>"
|
// Break $recipient into name and address parts if in the format "Foo <bar@baz.com>"
|
||||||
$recipient_name = '';
|
$recipient_name = '';
|
||||||
if( preg_match( '/(.+)\s?<(.+)>/', $recipient, $matches ) ) {
|
if( preg_match( '/(.*)<(.+)>/', $recipient, $matches ) ) {
|
||||||
if ( count( $matches ) == 3 ) {
|
if ( count( $matches ) == 3 ) {
|
||||||
$recipient_name = $matches[1];
|
$recipient_name = $matches[1];
|
||||||
$recipient = $matches[2];
|
$recipient = $matches[2];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$phpmailer->AddAddress( trim( $recipient ), $recipient_name);
|
$phpmailer->AddAddress( $recipient, $recipient_name);
|
||||||
} catch ( phpmailerException $e ) {
|
} catch ( phpmailerException $e ) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -360,13 +360,13 @@ function wp_mail( $to, $subject, $message, $headers = '', $attachments = array()
|
||||||
try {
|
try {
|
||||||
// Break $recipient into name and address parts if in the format "Foo <bar@baz.com>"
|
// Break $recipient into name and address parts if in the format "Foo <bar@baz.com>"
|
||||||
$recipient_name = '';
|
$recipient_name = '';
|
||||||
if( preg_match( '/(.+)\s?<(.+)>/', $recipient, $matches ) ) {
|
if( preg_match( '/(.*)<(.+)>/', $recipient, $matches ) ) {
|
||||||
if ( count( $matches ) == 3 ) {
|
if ( count( $matches ) == 3 ) {
|
||||||
$recipient_name = $matches[1];
|
$recipient_name = $matches[1];
|
||||||
$recipient = $matches[2];
|
$recipient = $matches[2];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$phpmailer->AddCc( trim($recipient), $recipient_name );
|
$phpmailer->AddCc( $recipient, $recipient_name );
|
||||||
} catch ( phpmailerException $e ) {
|
} catch ( phpmailerException $e ) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -378,13 +378,13 @@ function wp_mail( $to, $subject, $message, $headers = '', $attachments = array()
|
||||||
try {
|
try {
|
||||||
// Break $recipient into name and address parts if in the format "Foo <bar@baz.com>"
|
// Break $recipient into name and address parts if in the format "Foo <bar@baz.com>"
|
||||||
$recipient_name = '';
|
$recipient_name = '';
|
||||||
if( preg_match( '/(.+)\s?<(.+)>/', $recipient, $matches ) ) {
|
if( preg_match( '/(.*)<(.+)>/', $recipient, $matches ) ) {
|
||||||
if ( count( $matches ) == 3 ) {
|
if ( count( $matches ) == 3 ) {
|
||||||
$recipient_name = $matches[1];
|
$recipient_name = $matches[1];
|
||||||
$recipient = $matches[2];
|
$recipient = $matches[2];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$phpmailer->AddBcc( trim($recipient), $recipient_name );
|
$phpmailer->AddBcc( $recipient, $recipient_name );
|
||||||
} catch ( phpmailerException $e ) {
|
} catch ( phpmailerException $e ) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue