PEAR is archived and read-only

This mirror preserves historical PEAR package releases and metadata so existing references remain available.

Home » Mail » Mail_mimeDecode » Bug #7709

multipart/mixed with attachments are not decoded properly

Details

Submitted2006-05-23 19:48 UTC
Fromjthijssen at noxlogic dot nl
Assignedalan_k
StatusClosed
PackageMail_mimeDecode
PHP Version4.4.1
OSDebian (3.1)
Roadmaps1.6.0

Comments

[2006-05-23 19:48 UTC] jthijssen at noxlogic dot nl

Description:
------------
It looks like that the _boundaresplit() function splits the input on the boundaries, but the first and last part found is not returned (for $i = 1, $i < count ($tmp) -1; $i++)...)
It should not rule out any parts returned by the split. A quick solution would be to modify the line to "for $i=1; $i<=count($tmp)-1; $i++).

However, it will return the attachment but also returns a empty part which is found between "------=_NextPart_000_002C_8A6A229E.7935106B--

------=_NextPart_000_002C_932E5A3C.95C782A3".

Maybe a better solution would be to check if the last part contains text, if so, return that part, otherwise skip it.

Test script:
---------------
To: demo@example.org
Subject: subject
From: me <info@example.org>
Sender: me <info@example.org>
X-Mailer: NoxLogic/Automailer
X-NoxVersion: 1.00.2. (running)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_NextPart_000_002C_932E5A3C.95C782A3"

This is a multi-part message in MIME format.

------=_NextPart_000_002C_932E5A3C.95C782A3
Content-Type: multipart/alternative; boundary="----=_NextPart_000_002C_8A6A229E.7935106B"

------=_NextPart_000_002C_8A6A229E.7935106B
Content-Type: text/plain; charset='ISO-8859-1'
Content-Transfer-Encoding: 7bit

This is the text version of the email

------=_NextPart_000_002C_8A6A229E.7935106B
Content-Type: text/html; charset='ISO-8859-1'

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">

This is the <strong>HTML</strong> <h1>Version</h1> of the email
</body>
</html>
------=_NextPart_000_002C_8A6A229E.7935106B--

------=_NextPart_000_002C_932E5A3C.95C782A3
Content-Type: application/octet-stream; name="test.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="test.pdf"

JVBEBOGUSBASE64DATARi0xBOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATAverO07JhripPlxrk5U6iSWSUa+L96wDX5UA1hmhnQSQusiHkyEMPWKkqviYOLhK6YsYjV21sB5bW/JVigMcjH+ebgW4HWQPRemIfuH0Gl+epxuosgHgs6h189wCfaDVgSd0+ii+Ann+mU2nCys7JaLFlWBwhYuzMo0ggWugJ7adwdPbwk0bvnxlFZSw8SU3ANzzjpTsWdBg5Uks5Kq0ZQEC/Esp7PRT38R7b+8b7JrFEpVPY+5mOZSOLS03fRb5su/0dNJSnfdy+DxCENppbrH5R5W+Su8fc8bKjeSJjoj98kEW4X7azGVmRbhuSyZLmPF1BbgXKxg9g8pr3XVpp8nDh4lVby/ZSqUs+1SKmsfhIDfpzC+Fxm3OUWmmvHig8wvJ5PyCrbm5qtPv23OQsTFIkASJApsqLwA5VD/N8D94fsn+ilK0okIkyG8p52pxWnNfCWronwhJuH/iSfJ/iFarCyMeHasL4mRUWSGJBrIAYmMG3GsVmbniSwGON7kkX4EcBx8lPD1B0zLhQ4uUGlWFFUXjPAqoXgRxq30zMepkcTm1SWZMPG37CO1FQ8xYZMURumjhxIHAdp+Sp0jjk6qyFkRXUYoNmAIvqTy1VxOoOlcIk4qGNm4FhGxa3kubmpB1T02uQ2UNYnZdDSaDcrw4eyl9Mx1Mjic2kvUsEEeLitHGiMcqMXVQDaz+Svd8vh7lgbqQTDETFMRx0q1wD/eNQ5HVPTeUqpka5FRg6goeDDkfbUknV3T8qNHIzOjCzK0ZII9FL6ZjqZHE5tL+bvGDjYj5Czo50kxKrBizW4WApbi4kmL0pOsg0vJG8hU8xqHD2AVVi3bo2GQSxwkODcEozAH0MSKuS9W9PzRtFKztG4sylDYg0vpmOpkcTm1TzauntsnwsbJmRpGdFYqXOm58wtVvqRFTYchEAVVEYVRwAAkTgKqxdW9PwxrFEzrGgsqhDYAVzP1X07kxNDOXkie2pShsbG49opfTMdTI4nNpYwunNr8OGeSNpWKq1nYlbkX5V51YANnIHACRPy1GvWGwooRXcKoAA0HgBUeT1T03lReFka5I7g6ShtcUvpmOpkcTm0n6g/wDm4n/Xh+Y13vuFMAdywh/mYkZJUH7WIjvA+cdn/Kqs3VHTeRGsc2p0QhlUoeBXkal/GWx/vJPsGl9Mx1Mjic2kOLiPmdHrBGNUlnZB5SkrNb5bVd2vc8DO25YZpFRxH4U8TtpPAaT5OB81VYerOnoIxFCXSMEkKIzYFiWPtNVcjeej8qQyzxFpD7zBGUk+fSRel9Mx1Mjic2qT7BHix73nx4dvh1VRHpOoWuL2Yk341pKzmN1P01iJoxgYlPMLGRf0+Wnfxkf1W/VeN2e76+dL6Zk6r8YfVXFdYWyE3VeE7RRbjCLyYxtJ50J4eo/PS6KYSRh14qwrYOiSI0bgMjgqynkQeYrG7hgTbJkHgXwJT3H5lD9U+f569GIJt+yhQGwQzDmxllF/U9dfAbH/AKBf4sv6dCurqGQ3U8iK9qWpJDbs5HM7vU6MWAmO+Nj44hilN5AHdtXC30mNvkqL4HZf9vU+fxZf067opakkIj7yKqo44i1ar7Lr+zn4HZf9vX+LL+nR8Dsv+3r/ABZf066qs7zZcwwsEa5n4Mw5KO3jS1JIXs5HM7vUsbXt20blnPCm3qMeIXkl8WYm/IAd/tNMZth6Wg8bxcbQIFRpCZJbaZCQpHf8otTTatti23EXHTi570r/AFmPP81c523fF5ULkjwbMuQn11HeT1NS1JIOzkczu9SgOnemfElQ42nwSodmkkC3YagLl/JQnTnTLzSQDGtJGQCplkF7qH7v3nHga7G05SRQFj4zqZTMO5di+lUYeKjLwVAK6G1zITGkS2LwGPIZgXjWIJq+jf6NhalqSQdnI5Xd6kMvT3S8RUNjg6n8M2lk7rWZu995w92pD0v02ApOOoD+4fFk71/J95xruPbZ/GCmJVxVmWTQxVm5S6uIHFbsLauPOuZNryAkiLEkiuk0UYYgCLXK7ow4HhpYcuPClqSQdnI5Xd6ng6X6bL6BjqXHNRLJf1eJXD9OdMLE8oxw6oLnTLITx5ftO2pMXEmefhGLw5TO+USNbBVsVtz71Q423z5GBEUgSEHDEY4i8rtoZWaw4W0348bmlqSQdnI5Xd6kw6X6bLaBjgvz0+LJfh5vErxOl+m3JCY6sV94CWQ29P3lTPtz6jJpAf4l5S4Nm8NkZPe59tR7AeMtwusRxKWiAEdk1gA2+nx4/JwFLUkg7ORyu71OD010wL3gUW53mk4X4fvK6/C3Tevw/hhrIuF8WS9vRrqRNp4xmSKMkDJEhsLkytdPZUa7fm+Nju6AmEw98FR3VQI9+7qLXv22tS1JIOzkcru9SP8ADnTPxAxxjAyFWc2lkOkIVB1fecPfFSJ0r0466kxgynkRLIR/jrj+VZbQrCI0idIHieYMD4zGSJ7ngT3whvfy0x2/FMCyMysjSsCVJQ8gBe0SqopakkHZyOV3epQ/C/Tfe/y69z3/AL2Tu+n7zhR+GOmtKt4C6X4KfGksx833leRbVlRwldOqZE8PWTHpkBdS5t4dySFuNd7Hy16u25SRp4cQ8VJXeMsysqpIUYh108b2+jxBHClqSQdnI5Xd6no6W6cNrYwOr3fvZONvJ36a/DQfV+h4XM+55OdUcGAnOnYG+Njs6weQNKQ8o/ssLeymdLUkhOw/GP2uR8RvUKjmhinjaKZA8bizK3EGpKKpkZfM6YysZ2l2qTUh4nHc8fkY8D8vrpZJk5GMdGbjPC3K9jY+i9buuZPcbly+l7vy0IYYbli25kfIa8/mCO2iCN5XPJQOfzmn8v6wf/L/ALfvc6aYX6v9j/2Pd7aFMxj7LvG4EeMPg8c89Xvkf1efrtWk27a8TbYvDx17x9+RuLt6TVyigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigP/2QplbmRzdHJlYW0KZW5kb2JqCjIgMCBvYmoKPDwvUHJvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0KL0ZvbnQgPDwKL0YxIDUgMCBSCi9GMiA2IDAgUgovRjMgNyAwIFIKPj4KL1hPYmplY3QgPDwKL0kxIDggMCBSCj4+Cj4+CmVuZG9iago5IDAgb2JqCjw8Ci9Qcm9kdWNlciAoRlBERiAxLjUyKQovVGl0bGUgKEVaU2hvcHBpbmcgT3JkZXIgI1dFQjAwMTEzMykKL1N1YmplY3QgKEVaU2hvcHBpbmcgT3JkZXIgI1dFQjAwMTEzMykKL0F1dGhvciAoTm94RW5naW5lKQovQ3JlYXRvciAoRVpTaG9wcGluZykKL0NyZWF0aW9uRGF0ZSAoRDoyMDA2MDMxNTEyMDk0MikKPj4KZW5kb2JqCjEwIDAgb2JqCjw8Ci9UeXBlIC9DYXRhbG9nCi9QYWdlcyAxIDAgUgovT3BlbkFjdGlvbiBbMyAwIFIgL0ZpdF0KL1BhZ2VMYXlvdXQgL1NpbmdsZVBhZ2UKPj4KZW5kb2JqCnhyZWYKMCAxMQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDEwNzkgMDAwMDAgbiAKMDAwMDAwNTMyNiAwMDAwMCBuIAowMDAwMDAwMDA5IDAwMDAwIG4gCjAwMDAwMDAwODcgMDAwMDAgbiAKMDAwMDAwMTE2NiAwMDAwMCBuIAowMDAwMDAxMjYyIDAwMDAwIG4gCjAwMDAwMDEzNjMgMDAwMDAgbiAKMDAwMDAwMTQ2NyAwMDAwMCBuIAowMDAwMDA1NDU5IDAwMDAwIG4gCjAwMDAwMDU2NTMgMDAwMDAgbiAKdHJhaWxlcgo8PAovU2l6ZSAxMQovUm9vdCAxMCAwIFIKL0luZm8gOSAwIFIKPj4Kc3RhcnR4cmVmCjU3NTIKJSVFT0YK

Expected result:
----------------
To: demo@example.org
Subject: subject
From: me <info@example.org>
Sender: me <info@example.org>
X-Mailer: NoxLogic/Automailer
X-NoxVersion: 1.00.2. (running)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_NextPart_000_002C_932E5A3C.95C782A3"

This is a multi-part message in MIME format.

------=_NextPart_000_002C_932E5A3C.95C782A3
Content-Type: multipart/alternative; boundary="----=_NextPart_000_002C_8A6A229E.7935106B"

------=_NextPart_000_002C_8A6A229E.7935106B
Content-Type: text/plain; charset='ISO-8859-1'
Content-Transfer-Encoding: 7bit

This is the text version of the email
stdClass Object
(
[headers] => Array
(
[to] => demo@example.org
[subject] => subject
[from] => me
[sender] => me
[x-mailer] => NoxLogic/Automailer
[x-noxversion] => 1.00.2. (running)
[mime-version] => 1.0
[content-type] => multipart/mixed; boundary="----=_NextPart_000_002C_932E5A3C.95C782A3"
)

[ctype_primary] => multipart
[ctype_secondary] => mixed
[ctype_parameters] => Array
(
[boundary] => ----=_NextPart_000_002C_932E5A3C.95C782A3
)

[parts] => Array
(
[0] => stdClass Object
(
[headers] => Array
(
[content-type] => multipart/alternative; boundary="----=_NextPart_000_002C_8A6A229E.7935106B"
)

[ctype_primary] => multipart
[ctype_secondary] => alternative
[ctype_parameters] => Array
(
[boundary] => ----=_NextPart_000_002C_8A6A229E.7935106B
)

[parts] => Array
(
[0] => stdClass Object
(
[headers] => Array
(
[content-type] => text/plain; charset="ISO-8859-1"
[content-transfer-encoding] => 7bit
)

[ctype_primary] => text
[ctype_secondary] => plain
[ctype_parameters] => Array
(
[charset] => ISO-8859-1
)

[body] => This is the text version of the email

)

[1] => stdClass Object
(
[headers] => Array
(
[content-type] => text/html; charset="ISO-8859-1"
)

[ctype_primary] => text
[ctype_secondary] => html
[ctype_parameters] => Array
(
[charset] => ISO-8859-1
)

[body] =>

This is the HTML
Version
of the email
)

)

)

[1] => stdClass Object
(
[headers] => Array
(
[content-type] => application/octet-stream; name="test.pdf"
[content-transfer-encoding] => base64
[content-disposition] => attachment; filename="test.pdf"
)

[ctype_primary] => application
[ctype_secondary] => octet-stream
[ctype_parameters] => Array
(
[name] => test.pdf
)

[disposition] => attachment
[d_parameters] => Array
(
[filename] => test.pdf
)

[body] => JVBEBOGUSBASE64DATARi0xBOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATAverO07JhripPlxrk5U6iSWSUa+L96wDX5UA1hmhnQSQusiHkyEMPWKkqviYOLhK6YsYjV21sB5bW/JVigMcjH+ebgW4HWQPRemIfuH0Gl+epxuosgHgs6h189wCfaDVgSd0+ii+Ann+mU2nCys7JaLFlWBwhYuzMo0ggWugJ7adwdPbwk0bvnxlFZSw8SU3ANzzjpTsWdBg5Uks5Kq0ZQEC/Esp7PRT38R7b+8b7JrFEpVPY+5mOZSOLS03fRb5su/0dNJSnfdy+DxCENppbrH5R5W+Su8fc8bKjeSJjoj98kEW4X7azGVmRbhuSyZLmPF1BbgXKxg9g8pr3XVpp8nDh4lVby/ZSqUs+1SKmsfhIDfpzC+Fxm3OUWmmvHig8wvJ5PyCrbm5qtPv23OQsTFIkASJApsqLwA5VD/N8D94fsn+ilK0okIkyG8p52pxWnNfCWronwhJuH/iSfJ/iFarCyMeHasL4mRUWSGJBrIAYmMG3GsVmbniSwGON7kkX4EcBx8lPD1B0zLhQ4uUGlWFFUXjPAqoXgRxq30zMepkcTm1SWZMPG37CO1FQ8xYZMURumjhxIHAdp+Sp0jjk6qyFkRXUYoNmAIvqTy1VxOoOlc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JvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0KL0ZvbnQgPDwKL0YxIDUgMCBSCi9GMiA2IDAgUgovRjMgNyAwIFIKPj4KL1hPYmplY3QgPDwKL0kxIDggMCBSCj4+Cj4+CmVuZG9iago5IDAgb2JqCjw8Ci9Qcm9kdWNlciAoRlBERiAxLjUyKQovVGl0bGUgKEVaU2hvcHBpbmcgT3JkZXIgI1dFQjAwMTEzMykKL1N1YmplY3QgKEVaU2hvcHBpbmcgT3JkZXIgI1dFQjAwMTEzMykKL0F1dGhvciAoTm94RW5naW5lKQovQ3JlYXRvciAoRVpTaG9wcGluZykKL0NyZWF0aW9uRGF0ZSAoRDoyMDA2MDMxNTEyMDk0MikKPj4KZW5kb2JqCjEwIDAgb2JqCjw8Ci9UeXBlIC9DYXRhbG9nCi9QYWdlcyAxIDAgUgovT3BlbkFjdGlvbiBbMyAwIFIgL0ZpdF0KL1BhZ2VMYXlvdXQgL1NpbmdsZVBhZ2UKPj4KZW5kb2JqCnhyZWYKMCAxMQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDEwNzkgMDAwMDAgbiAKMDAwMDAwNTMyNiAwMDAwMCBuIAowMDAwMDAwMDA5IDAwMDAwIG4gCjAwMDAwMDAwODcgMDAwMDAgbiAKMDAwMDAwMTE2NiAwMDAwMCBuIAowMDAwMDAxMjYyIDAwMDAwIG4gCjAwMDAwMDEzNjMgMDAwMDAgbiAKMDAwMDAwMTQ2NyAwMDAwMCBuIAowMDAwMDA1NDU5IDAwMDAwIG4gCjAwMDAwMDU2NTMgMDAwMDAgbiAKdHJhaWxlcgo8PAovU2l6ZSAxMQovUm9vdCAxMCAwIFIKL0luZm8gOSAwIFIKPj4Kc3RhcnR4cmVmCjU3NTIKJSVFT0YK
)

)

)
------=_NextPart_000_002C_8A6A229E.7935106B
Content-Type: text/html; charset='ISO-8859-1'

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">

This is the <strong>HTML</strong> <h1>Version</h1> of the email
</body>
</html>
------=_NextPart_000_002C_8A6A229E.7935106B--
------=_NextPart_000_002C_932E5A3C.95C782A3
Content-Type: application/octet-stream; name="test.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="test.pdf"

JVBEBOGUSBASE64DATARi0xBOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATABOGUSBASE64DATAverO07JhripPlxrk5U6iSWSUa+L96wDX5UA1hmhnQSQusiHkyEMPWKkqviYOLhK6YsYjV21sB5bW/JVigMcjH+ebgW4HWQPRemIfuH0Gl+epxuosgHgs6h189wCfaDVgSd0+ii+Ann+mU2nCys7JaLFlWBwhYuzMo0ggWugJ7adwdPbwk0bvnxlFZSw8SU3ANzzjpTsWdBg5Uks5Kq0ZQEC/Esp7PRT38R7b+8b7JrFEpVPY+5mOZSOLS03fRb5su/0dNJSnfdy+DxCENppbrH5R5W+Su8fc8bKjeSJjoj98kEW4X7azGVmRbhuSyZLmPF1BbgXKxg9g8pr3XVpp8nDh4lVby/ZSqUs+1SKmsfhIDfpzC+Fxm3OUWmmvHig8wvJ5PyCrbm5qtPv23OQsTFIkASJApsqLwA5VD/N8D94fsn+ilK0okIkyG8p52pxWnNfCWronwhJuH/iSfJ/iFarCyMeHasL4mRUWSGJBrIAYmMG3GsVmbniSwGON7kkX4EcBx8lPD1B0zLhQ4uUGlWFFUXjPAqoXgRxq30zMepkcTm1SWZMPG37CO1FQ8xYZMURumjhxIHAdp+Sp0jjk6qyFkRXUYoNmAIvqTy1VxOoOlc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JvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0KL0ZvbnQgPDwKL0YxIDUgMCBSCi9GMiA2IDAgUgovRjMgNyAwIFIKPj4KL1hPYmplY3QgPDwKL0kxIDggMCBSCj4+Cj4+CmVuZG9iago5IDAgb2JqCjw8Ci9Qcm9kdWNlciAoRlBERiAxLjUyKQovVGl0bGUgKEVaU2hvcHBpbmcgT3JkZXIgI1dFQjAwMTEzMykKL1N1YmplY3QgKEVaU2hvcHBpbmcgT3JkZXIgI1dFQjAwMTEzMykKL0F1dGhvciAoTm94RW5naW5lKQovQ3JlYXRvciAoRVpTaG9wcGluZykKL0NyZWF0aW9uRGF0ZSAoRDoyMDA2MDMxNTEyMDk0MikKPj4KZW5kb2JqCjEwIDAgb2JqCjw8Ci9UeXBlIC9DYXRhbG9nCi9QYWdlcyAxIDAgUgovT3BlbkFjdGlvbiBbMyAwIFIgL0ZpdF0KL1BhZ2VMYXlvdXQgL1NpbmdsZVBhZ2UKPj4KZW5kb2JqCnhyZWYKMCAxMQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDEwNzkgMDAwMDAgbiAKMDAwMDAwNTMyNiAwMDAwMCBuIAowMDAwMDAwMDA5IDAwMDAwIG4gCjAwMDAwMDAwODcgMDAwMDAgbiAKMDAwMDAwMTE2NiAwMDAwMCBuIAowMDAwMDAxMjYyIDAwMDAwIG4gCjAwMDAwMDEzNjMgMDAwMDAgbiAKMDAwMDAwMTQ2NyAwMDAwMCBuIAowMDAwMDA1NDU5IDAwMDAwIG4gCjAwMDAwMDU2NTMgMDAwMDAgbiAKdHJhaWxlcgo8PAovU2l6ZSAxMQovUm9vdCAxMCAwIFIKL0luZm8gOSAwIFIKPj4Kc3RhcnR4cmVmCjU3NTIKJSVFT0YK

Actual result:
--------------
stdClass Object
(
[headers] => Array
(
[to] => demo@example.org
[subject] => subject
[from] => me
[sender] => me
[x-mailer] => NoxLogic/Automailer
[x-noxversion] => 1.00.2. (running)
[mime-version] => 1.0
[content-type] => multipart/mixed; boundary="----=_NextPart_000_002C_932E5A3C.95C782A3"
)

[ctype_primary] => multipart
[ctype_secondary] => mixed
[ctype_parameters] => Array
(
[boundary] => ----=_NextPart_000_002C_932E5A3C.95C782A3
)

[parts] => Array
(
[0] => stdClass Object
(
[headers] => Array
(
[content-type] => multipart/alternative; boundary="----=_NextPart_000_002C_8A6A229E.7935106B"
)

[ctype_primary] => multipart
[ctype_secondary] => alternative
[ctype_parameters] => Array
(
[boundary] => ----=_NextPart_000_002C_8A6A229E.7935106B
)

[parts] => Array
(
[0] => stdClass Object
(
[headers] => Array
(
[content-type] => text/plain; charset="ISO-8859-1"
[content-transfer-encoding] => 7bit
)

[ctype_primary] => text
[ctype_secondary] => plain
[ctype_parameters] => Array
(
[charset] => ISO-8859-1
)

[body] => This is the text version of the email

)

[1] => stdClass Object
(
[headers] => Array
(
[content-type] => text/html; charset="ISO-8859-1"
)

[ctype_primary] => text
[ctype_secondary] => html
[ctype_parameters] => Array
(
[charset] => ISO-8859-1
)

[body] =>

This is the HTML
Version
of the email
)

)

)

)

)