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
This commit is contained in:
nacin 2012-05-02 13:32:19 +00:00
parent 5a37c2f523
commit 95ab5d397e
1 changed files with 2 additions and 6 deletions

View File

@ -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 '<p>' . sprintf(__('Author is %s'), $author) . '</p>';
$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;
}
}