/** * Retrieves Message Attachments * * @param \Zend\Mail\Storage\Message $zendMailMessage * @return array */ private function processAttachments($zendMailMessage) { $attachments = array(); if ($zendMailMessage->getBody()) { $parts = $zendMailMessage->getBody()->getParts(); foreach ($parts as $part) { if ($part->disposition) { $disposition = \Zend\Mime\Decode::splitHeaderField($part->disposition); if ($disposition[0] == \Zend\Mime\Mime::DISPOSITION_ATTACHMENT && isset($disposition['filename'])) { $fileName = $disposition['filename']; $fileContent = $part->getContent(); $attachments[] = new Attachment($fileName, base64_decode($fileContent)); } } } } return $attachments; }