From 95ab5d397e26e86818533ccf19ff56eb638f1049 Mon Sep 17 00:00:00 2001 From: nacin Date: Wed, 2 May 2012 13:32:19 +0000 Subject: [PATCH] Anchor a regular expression in wp-mail.php to ensure we are matching the Reply-To: header, not the In-Reply-To: header. Per RFCs *822, mail headers must start at the beginning of a line. This same pattern could be continued throughout this file. props solarissmoke. fixes #18923. git-svn-id: http://core.svn.wordpress.org/trunk@20682 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-mail.php | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/wp-mail.php b/wp-mail.php index b75e3bb26b..7fc3967b6a 100644 --- a/wp-mail.php +++ b/wp-mail.php @@ -105,7 +105,7 @@ for ( $i = 1; $i <= $count; $i++ ) { // Set the author using the email address (From or Reply-To, the last used) // otherwise use the site admin - if ( preg_match('/(From|Reply-To): /', $line) ) { + if ( ! $author_found && preg_match( '/^(From|Reply-To): /', $line ) ) { if ( preg_match('|[a-z0-9_.-]+@[a-z0-9_.-]+(?!.*<)|i', $line, $matches) ) $author = $matches[0]; else @@ -114,14 +114,10 @@ for ( $i = 1; $i <= $count; $i++ ) { if ( is_email($author) ) { echo '

' . sprintf(__('Author is %s'), $author) . '

'; $userdata = get_user_by('email', $author); - if ( empty($userdata) ) { - $author_found = false; - } else { + if ( ! empty( $userdata ) ) { $post_author = $userdata->ID; $author_found = true; } - } else { - $author_found = false; } }