Hello, All -

This concerns a topic which has been archived:


I'm trying to find a way to match the sender's email address with those present in a list of users. Two methods are suggested in the thread:

if (!in_array($incoming_mail['from'], $allEmails) ( continue; } // skip if email doesn't match

$fromMatchesMember = mysql_count('accounts', array('email' => $incoming_mail['from']));

if ($fromMatchesMember) { etc... }

In practice however, neither seems to work. My guess is because the email in $incoming_mail['from'] contains more data than just the email address. The format looks like this:

Joe Bloggs <joe@bloggs.com>

Is this why the match is failing? If so can someone suggest a fix?



Jerry -

You beauty! You've cracked it! Here's what I sued:

$emailAddress = $message['from'];
preg_match_all("/[\._a-zA-Z0-9-]+@[\._a-zA-Z0-9-]+/i", $emailAddress, $matches);
$fromMatchesMember = mysql_count('accounts', array('email' => $matches[0]));

if ($fromMatchesMember) {
  do stuff...

Thanks again,



Hey Perch, 

Good to see you've got it working!



Greg Thomas
PHP Programmer - interactivetools.com