diff --git a/src/Fetch/Message.php b/src/Fetch/Message.php index 3755869..3f95b55 100644 --- a/src/Fetch/Message.php +++ b/src/Fetch/Message.php @@ -392,7 +392,19 @@ public function getDate() */ public function getSubject() { - return isset($this->subject) ? $this->subject : null; + if (isset($this->subject)) { + $decoded = imap_mime_header_decode($this->subject); + + $this->subject = ''; + + for ($i=0; $isubject .= $decoded[$i]->text; + } + + return $this->subject; + } + + return null; } /** @@ -569,8 +581,10 @@ protected function processAddressObject($addresses) foreach ($addresses as $address) { $currentAddress = array(); $currentAddress['address'] = $address->mailbox . '@' . $address->host; - if (isset($address->personal)) - $currentAddress['name'] = $address->personal; + if (isset($address->personal)) { + $decoded = imap_mime_header_decode($address->personal); + $currentAddress['name'] = $decoded[0]->text; + } $outputAddresses[] = $currentAddress; }