From f32b35dbb083843447986aea2a96ca3dc1cf5b77 Mon Sep 17 00:00:00 2001 From: Peter Rotich <peter@osticket.com> Date: Thu, 28 Mar 2013 23:33:18 -0400 Subject: [PATCH] Use email address when FROM field doesn't have a name. --- include/class.mailfetch.php | 10 +++++++--- include/class.mailparse.php | 6 +++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/include/class.mailfetch.php b/include/class.mailfetch.php index 1bcf6d690..d1032ba50 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 ba8d21761..3347451de 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. -- GitLab