summaryrefslogtreecommitdiffstats
path: root/wp-mail.php
diff options
context:
space:
mode:
Diffstat (limited to 'wp-mail.php')
-rw-r--r--wp-mail.php13
1 files changed, 8 insertions, 5 deletions
diff --git a/wp-mail.php b/wp-mail.php
index 5f11cb1..e510055 100644
--- a/wp-mail.php
+++ b/wp-mail.php
@@ -60,12 +60,15 @@ for ($i=1; $i <= $count; $i++) :
$subject = $subject[0];
}
- // Set the author using the email address (To or Reply-To, the last used)
+ // Set the author using the email address (From or Reply-To, the last used)
// otherwise use the site admin
- if (preg_match('/From: /', $line) | preg_match('/Reply-To: /', $line)) {
- $author=trim($line);
- if ( ereg("([a-zA-Z0-9\_\-\.]+@[\a-zA-z0-9\_\-\.]+)", $author , $regs) ) {
- $author = $regs[1];
+ if ( preg_match('/(From|Reply-To): /', $line) ) {
+ if ( preg_match('|[a-z0-9_.-]+@[a-z0-9_.-]+(?!.*<)|i', $line, $matches) )
+ $author = $matches[0];
+ else
+ $author = trim($line);
+ $author = sanitize_email($author);
+ if ( is_email($author) ) {
echo "Author = {$author} <p>";
$author = $wpdb->escape($author);
$result = $wpdb->get_row("SELECT ID FROM $wpdb->users WHERE user_email='$author' LIMIT 1");