diff --git a/src/Fetch/Message.php b/src/Fetch/Message.php index 4b202af..3755869 100644 --- a/src/Fetch/Message.php +++ b/src/Fetch/Message.php @@ -432,19 +432,16 @@ class Message $attachment = new Attachment($this, $structure, $partIdentifier); $this->attachments[] = $attachment; } elseif ($structure->type == 0 || $structure->type == 1) { - if($partIdentifier !== null) { - $section = is_int($structure->ifsubtype) ? (string)$partIdentifier.".".$structure->ifsubtype : $partIdentifier; - $messageBody = imap_fetchbody($this->imapStream, $this->uid, $section, FT_UID); - } else { - $messageBody = imap_body($this->imapStream, $this->uid, FT_UID); - } + $messageBody = isset($partIdentifier) ? + imap_fetchbody($this->imapStream, $this->uid, $partIdentifier, FT_UID) + : imap_body($this->imapStream, $this->uid, FT_UID); $messageBody = self::decode($messageBody, $structure->encoding); if (!empty($parameters['charset']) && $parameters['charset'] !== self::$charset) $messageBody = iconv($parameters['charset'], self::$charset, $messageBody); - if (strtolower($structure->subtype) == 'plain' || $structure->type == 1) { + if (strtolower($structure->subtype) === 'plain' || ($structure->type == 1 && strtolower($structure->subtype) !== 'alternative')) { if (isset($this->plaintextMessage)) { $this->plaintextMessage .= PHP_EOL . PHP_EOL; } else { @@ -453,7 +450,6 @@ class Message $this->plaintextMessage .= trim($messageBody); } else { - if (isset($this->htmlMessage)) { $this->htmlMessage .= '

'; } else {