diff --git a/include/class.mailfetch.php b/include/class.mailfetch.php index 1bcf6d690cdbc244c233ae65b90ad334ed79185b..d1032ba506971dac36d97ba7ffeba41111213626 100644 --- a/include/class.mailfetch.php +++ b/include/class.mailfetch.php @@ -372,16 +372,20 @@ class MailFetcher { $emailId = $this->getEmailId(); $vars = array(); - $vars['name']=$this->mime_decode($mailinfo['name']); $vars['email']=$mailinfo['email']; + $vars['name']=$this->mime_decode($mailinfo['name']); $vars['subject']=$mailinfo['subject']?$this->mime_decode($mailinfo['subject']):'[No Subject]'; $vars['message']=Format::stripEmptyLines($this->getBody($mid)); $vars['header']=$this->getHeader($mid); $vars['emailId']=$emailId?$emailId:$ost->getConfig()->getDefaultEmailId(); //ok to default? - $vars['name']=$vars['name']?$vars['name']:$vars['email']; //No name? use email $vars['mid']=$mailinfo['mid']; - if(!$vars['message']) //An email with just attachments can have empty body. + //Missing FROM name - use email address. + if(!$vars['name']) + $vars['name'] = $vars['email']; + + //An email with just attachments can have empty body. + if(!$vars['message']) $vars['message'] = '(EMPTY)'; if($ost->getConfig()->useEmailPriority()) diff --git a/include/class.mailparse.php b/include/class.mailparse.php index ba8d217612d2f5905c9936832859fae5c82820e9..3347451de99a1aa3f1b116b2098de60b2c3e0864 100644 --- a/include/class.mailparse.php +++ b/include/class.mailparse.php @@ -289,11 +289,15 @@ class EmailDataParser { break; } + $data['email'] = $from->mailbox.'@'.$from->host; + $data['name'] = trim($from->personal,'"'); if($from->comment && $from->comment[0]) $data['name'].= ' ('.$from->comment[0].')'; - $data['email'] = $from->mailbox.'@'.$from->host; + //Use email address as name when FROM address doesn't have a name. + if(!$data['name'] && $data['email']) + $data['name'] = $data['email']; } //TO Address:Try to figure out the email address... associated with the incoming email.