Hi guys,

I am using Zend_Mail_Storage_Mbox to read mails from mbox but it seems to me
that I cannot get all parts. I sent an example mail with text (text/plain), html
(text/html) and an attached (image/png) inline part. I've attached the mbox to
this email (mbox.txt).

require_once 'Zend/Mail/Storage/Mbox.php';
$mbox = new Zend_Mail_Storage_Mbox(array(
    'filename' => '/home/jan/Desktop/mbox.txt'
));

require_once 'Zend/Debug.php';
Zend_Debug::dump($mbox->getMessage(1));

object(Zend_Mail_Message_File)#2 (12) {
  ["_flags:protected"] => array(0) {
  }
  ["_contentPos:protected"] => array(2) {
    [0] => int(330)
    [1] => int(1353)
  }
  ["_partPos:protected"] => array(2) {
    [0] => array(2) {
      [0] => int(468)
      [1] => int(953)
    }
    [1] => array(2) {
      [0] => int(990)
      [1] => int(1314)
    }
  }
  ["_fh:protected"] => resource(13) of type (stream)
  ["_headers:protected"] => array(7) {
    ["return-path"] => string(27) "<j...@localhost.localdomain>"
    ["to"] => string(25) "j...@localhost.localdomain"
    ["subject"] => string(8) "Testmail"
    ["from"] => string(25) "j...@localhost.localdomain"
    ["date"] => string(31) "Sat, 06 Jan 2009 13:55:40 +0100"
    ["content-type"] => string(79) "multipart/mixed; charset="utf-8";
boundary="=_1f37c4c6837f0c1cbc45a73c7af851ba""
    ["mime-version"] => string(3) "1.0"
  }
  ["_content:protected"] => NULL
  ["_topLines:protected"] => string(0) ""
  ["_parts:protected"] => array(0) {
  }
  ["_countParts:protected"] => int(2)
  ["_iterationPos:protected"] => int(1)
  ["_mail:protected"] => NULL
  ["_messageNum:protected"] => int(0)
}

As you can see ($_partPos) there are only two parts.

$mbox->getMessage(1)->getPart(0); // part not found
$mbox->getMessage(1)->getPart(1); // text/html part
$mbox->getMessage(1)->getPart(2); // image/png part (base64)
$mbox->getMessage(1)->getPart(3); // part not found

Am I doing something wrong? Why is one part missing?

-- Jan
From j...@localhost.localdomain  Sat Jan  6 13:55:41 2009
Return-Path: <j...@localhost.localdomain>
To: j...@localhost.localdomain
Subject: Testmail
From: j...@localhost.localdomain
Date: Sat, 06 Jan 2009 13:55:40 +0100
Content-Type: multipart/mixed; charset="utf-8";
 boundary="=_1f37c4c6837f0c1cbc45a73c7af851ba"
MIME-Version: 1.0


This is a message in Mime Format.  If you see this, your mail reader does not 
support this format.

--=_1f37c4c6837f0c1cbc45a73c7af851ba
Content-Type: multipart/alternative;
 boundary="=_d501a90e2649c7e24f8d3078a591f610"
Content-Transfer-Encoding: 8bit


--=_d501a90e2649c7e24f8d3078a591f610
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

Hello world

--=_d501a90e2649c7e24f8d3078a591f610
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

<html><head><title></title></head><body>Hello world</body></html>

--=_d501a90e2649c7e24f8d3078a591f610--

--=_1f37c4c6837f0c1cbc45a73c7af851ba
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-ID: <50de13e501e6236f15c1a4fe1d07ef96>
Content-Disposition: inline; filename="example.png"

iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAQMAAAAk8RryAAAABlBMVEWurq4zMzOJRNl/AAAA
IklEQVQYlWNgGPzgAYRiloDQLCyoNAcTdhpdHUw/zLxBCQCxnQI1BtXliAAAAABJRU5ErkJg
gg==
--=_1f37c4c6837f0c1cbc45a73c7af851ba--

Reply via email to