summaryrefslogtreecommitdiffstats
path: root/wp-mail.php
diff options
context:
space:
mode:
authordonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2007-10-23 18:28:40 +0000
committerdonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2007-10-23 18:28:40 +0000
commit87bb8cd69cc593fe6bed330fb1791eac9df87167 (patch)
tree6b2ad252df89d2a1863198fd44b321b59e42ef54 /wp-mail.php
parent0cbda3349a2571904ea063fdd73e018299919589 (diff)
downloadwordpress-mu-87bb8cd69cc593fe6bed330fb1791eac9df87167.tar.gz
wordpress-mu-87bb8cd69cc593fe6bed330fb1791eac9df87167.tar.xz
wordpress-mu-87bb8cd69cc593fe6bed330fb1791eac9df87167.zip
Merge with WordPress, rev 6285 and untested
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@1125 7be80a69-a1ef-0310-a953-fb0f7c49ff36
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");