CRM-9484. Handle ezcMailDeliveryStatus message part.
authorChris Burgess <chris@giantrobot.co.nz>
Mon, 15 Aug 2016 22:41:29 +0000 (10:41 +1200)
committerChris Burgess <chris@giantrobot.co.nz>
Mon, 15 Aug 2016 22:53:41 +0000 (10:53 +1200)
CRM/Utils/Mail/Incoming.php

index a3c869402eb1b1848aac7ecafca3f939626af598..12e97e50125f7b5b4a02f31606e025bed4313017 100644 (file)
@@ -83,6 +83,10 @@ class CRM_Utils_Mail_Incoming {
       return self::formatMailMultipart($part, $attachments);
     }
 
+    if ($part instanceof ezcMailDeliveryStatus) {
+      return self::formatMailDeliveryStatus($part);
+    }
+
     // CRM-19111 - Handle blank emails with a subject.
     if (!$part) {
       return NULL;
@@ -118,6 +122,10 @@ class CRM_Utils_Mail_Incoming {
       return self::formatMailMultipartReport($part, $attachments);
     }
 
+    if ($part instanceof ezcMailDeliveryStatus) {
+      return self::formatMailDeliveryStatus($part);
+    }
+
     CRM_Core_Error::fatal(ts("No clue about the %1", array(1 => get_class($part))));
   }
 
@@ -227,6 +235,19 @@ class CRM_Utils_Mail_Incoming {
     return $t;
   }
 
+  /**
+   * @param $part
+   *
+   * @return string
+   */
+  public function formatMailDeliveryStatus($part) {
+    $t = '';
+    $t .= "-DELIVERY STATUS BEGIN-\n";
+    $t .= $part->generateBody();
+    $t .= "-DELIVERY STATUS END-\n";
+    return $t;
+  }
+
   /**
    * @param $part
    * @param $attachments