From 18639327fce6efbd0c8488bfa5423586e33a8768 Mon Sep 17 00:00:00 2001 From: Michael Morrison <mmorrison@pon4.net> Date: Thu, 13 Feb 2014 15:38:35 +0000 Subject: [PATCH] Shift error checking into Mail_Parse::parseAddressList --- include/class.mailparse.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/include/class.mailparse.php b/include/class.mailparse.php index 17da5f590..7a74d053f 100644 --- a/include/class.mailparse.php +++ b/include/class.mailparse.php @@ -397,12 +397,17 @@ class Mail_Parse { function parseAddressList($address){ if (!$address) - return false; + return array(); + // Delivered-To may appear more than once in the email headers if (is_array($address)) $address = implode(', ', $address); - return Mail_RFC822::parseAddressList($address, null, null,false); + $parsed = Mail_RFC822::parseAddressList($address, null, null,false); + + if(PEAR::isError($parsed)) + return array(); + return $parsed; } function parse($rawemail) { @@ -437,7 +442,7 @@ class EmailDataParser { $data =array(); //FROM address: who sent the email. - if(($fromlist = $parser->getFromAddressList()) && !PEAR::isError($fromlist)) { + if(($fromlist = $parser->getFromAddressList())) { $from=$fromlist[0]; //Default. foreach($fromlist as $fromobj) { if(!Validator::is_email($fromobj->mailbox.'@'.$fromobj->host)) continue; @@ -493,7 +498,7 @@ class EmailDataParser { $data['priorityId'] = $parser->getPriority(); $data['emailId'] = $emailId; - if (($replyto = $parser->getReplyTo()) && !PEAR::isError($replyto)) { + if (($replyto = $parser->getReplyTo())) { $replyto = $replyto[0]; $data['reply-to'] = $replyto->mailbox.'@'.$replyto->host; if ($replyto->personal) -- GitLab