From 6d48b7d09c56fb4c657a048dcd6628d19dd424e9 Mon Sep 17 00:00:00 2001 From: J42 Date: Sat, 20 Sep 2014 21:20:40 -0400 Subject: [PATCH 1/2] Mailparser fix --- lib/MimeMailParser/Parser.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/MimeMailParser/Parser.php b/lib/MimeMailParser/Parser.php index 933a09b..0affa87 100644 --- a/lib/MimeMailParser/Parser.php +++ b/lib/MimeMailParser/Parser.php @@ -6,7 +6,7 @@ /** * Fast Mime Mail parser Class using PHP's MailParse Extension - * + * * @author gabe@fijiwebdesign.com * @url http://www.fijiwebdesign.com/ * @license http://creativecommons.org/licenses/by-sa/3.0/us/ @@ -42,7 +42,7 @@ class Parser /** * Inialize some stuff - * @return + * @return */ public function __construct() { @@ -119,7 +119,7 @@ public function setStream($stream) /** * Set the email text - * @return Object MimeMailParser Instance + * @return Object MimeMailParser Instance * @param $data String */ public function setText($data) @@ -254,8 +254,10 @@ public function getAttachments() foreach ($this->parts as $part) { $disposition = $this->getPartContentDisposition($part); if (in_array($disposition, $dispositions)) { + $name = (!empty($part['disposition-filename'])) ? $part['disposition-filename'] : false; + $name = (!$name && !empty($part['content-name'])) ? $part['content-name'] : false; $attachments[] = new Attachment( - !empty($part['disposition-filename']) ? $part['disposition-filename'] : $part['content-name'], + $name, $this->getPartContentType($part), $this->getAttachmentStream($part), $disposition, From 85a4117e6b30caa1332a6dc9a5eee91998cf35a0 Mon Sep 17 00:00:00 2001 From: J42 Date: Sat, 20 Sep 2014 21:39:12 -0400 Subject: [PATCH 2/2] Default fallback for mail clients that don't set content-name --- lib/MimeMailParser/Parser.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/MimeMailParser/Parser.php b/lib/MimeMailParser/Parser.php index 0affa87..793bd08 100644 --- a/lib/MimeMailParser/Parser.php +++ b/lib/MimeMailParser/Parser.php @@ -255,7 +255,7 @@ public function getAttachments() $disposition = $this->getPartContentDisposition($part); if (in_array($disposition, $dispositions)) { $name = (!empty($part['disposition-filename'])) ? $part['disposition-filename'] : false; - $name = (!$name && !empty($part['content-name'])) ? $part['content-name'] : false; + $name = (!$name && !empty($part['content-name'])) ? $part['content-name'] : 'File.zip'; $attachments[] = new Attachment( $name, $this->getPartContentType($part),