Last active
November 24, 2023 06:36
-
-
Save settermjd/f8c5cd8c9a1874dfcef4cef932d1e161 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Received: by mx0032p1mdw1.sendgrid.net with SMTP id rOkt2xLLKV Tue, 19 Jul 2016 15:06:29 +0000 (UTC) | |
Received: from mail-it0-f45.google.com (mail-it0-f45.google.com [209.85.214.45]) by mx0032p1mdw1.sendgrid.net (Postfix) with ESMTPS id 26D6080397 for <[email protected]>; Tue, 19 Jul 2016 15:06:22 +0000 (UTC) | |
Received: by mail-it0-f45.google.com with SMTP id f6so93587860ith.1 for <[email protected]>; Tue, 19 Jul 2016 08:06:22 -0700 (PDT) | |
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sendgrid.com; s=ga1; h=mime-version:from:date:message-id:subject:to; bh=UYWCIUKTVXyV9U41l+c9+qOlpoeQGcJkKpyOAatNr3Y=; b=c1I/LcqHEJklmAThWr9Z8NKlTPHUlE/8sDSpK382fJtIQcGdUtczG0pijnUHegrFVt FDr4NehtJDD9KFvXLXboLCtObsu5HTN99ckUCCZTibZseA+J8U3jjCqTdj1fmUage5C7 //Iwi0Ndioonzhm18J7KStap66yZ69ED7UxPk= | |
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=UYWCIUKTVXyV9U41l+c9+qOlpoeQGcJkKpyOAatNr3Y=; b=lgmLXnmmpNcQMckjshsZsa2/8OjFZzntWYSG5XZo0fi32KHLuBLSHuNDFXn0V4ICp1 1xuT2fZCyhBSgNBiWNbjqFspdemzrBjaI1Tgm/Zz8Fv6wW2XdjpoANNQzJxfdhnecPd5 HvZ5P8+KTqjr4tAa9RmLthDc3UqhV9NRnCnhbW/AZaVQLB8eoJus92tD1GeXpBQml5XF m6vPUGrWGZWNugINkRKxIpk+2uECglAjNm4NpZIi9j7N94CxA18RC4NJ59WIsSybtIer hbCgT1Q13rvGEzvnp6FfFQVbE3DOibNqd0bh/EvZCagFVbnenNc/Q+qHtU9KqFlisSOp xh0w== | |
X-Gm-Message-State: ALyK8tINVaZIP8YCgQbpg5ya8EnqQo76uxkXUPpDnM+kAyAQQzehFU10EgyuAe2fAmWf/muBiFDy0JDU74Eclp1/ | |
X-Received: by 10.36.76.16 with SMTP id a16mr4479786itb.77.1468940781988; Tue, 19 Jul 2016 08:06:21 -0700 (PDT) | |
MIME-Version: 1.0 | |
Received: by 10.107.48.17 with HTTP; Tue, 19 Jul 2016 08:06:21 -0700 (PDT) | |
From: Sender Name <[email protected]> | |
Date: Tue, 19 Jul 2016 09:06:21 -0600 | |
Message-ID: <CAN_P_JNa25--hzm5=-ES9cnxgWa+h+E49OOAS7sPpV0gsoXCOw@mail.gmail.com> | |
Subject: Hello | |
To: [email protected] | |
Content-Type: multipart/mixed; boundary=001a11447dc881e40f0537fe6d5a | |
--001a11447dc881e40f0537fe6d5a | |
Content-Type: multipart/alternative; boundary=001a11447dc881e40b0537fe6d58 | |
--001a11447dc881e40b0537fe6d58 | |
Content-Type: text/plain; charset=UTF-8 | |
This is a test email with 1 attachment. | |
--001a11447dc881e40b0537fe6d58 | |
Content-Type: text/html; charset=UTF-8 | |
Content-Transfer-Encoding: quoted-printable | |
<div dir=3D"ltr">This is a test email with 1 attachment.<br clear=3D"all"><= | |
div><br></div>-- <br><div class=3D"gmail_signature" data-smartmail=3D"gmail= | |
_signature"><div dir=3D"ltr"><img src=3D"https://sendgrid.com/brand/sg-logo= | |
-email.png" width=3D"96" height=3D"17"><br><div><br></div></div></div> | |
</div> | |
--001a11447dc881e40b0537fe6d58-- | |
--001a11447dc881e40f0537fe6d5a | |
Content-Disposition: inline; | |
filename="test document.pdf" | |
Content-Type: application/pdf; | |
x-mac-hide-extension=yes; | |
x-unix-mode=0644; | |
name="test document.pdf" | |
Content-Transfer-Encoding: base64 | |
JVBERi0xLjMKJcTl8uXrp/Og0MTGCjMgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xl | |
bmd0aCAyMDkgPj4Kc3RyZWFtCngBXY/NasNADITvfoo5JofKK3vXK0HIIU6gLQRaWOih9FBchwTi | |
FMfJ+1fOD6VFB2lgRvrU4xU9nFXQQIVAPJMoji3ecEBeD4xmAF9qaMx3M3QWqO5iP4rswRE7VQke | |
ezP+kVtskL9gNkO+rp+Wtm4+x2JZX86HkrwoK0JFlRZawItQ6TgilkzRRc3+AY3EDgbU26px5N9w | |
jIHEi4F3WCTwzXBtqcvylMZ/0gbvmDy2xylYMGmxG/CJr+/m3LWHE03xgfSMVTLE1dpAfwDXhkJi | |
CmVuZHN0cmVhbQplbmRvYmoKMSAwIG9iago8PCAvVHlwZSAvUGFnZSAvUGFyZW50IDIgMCBSIC9S | |
ZXNvdXJjZXMgNCAwIFIgL0NvbnRlbnRzIDMgMCBSIC9NZWRpYUJveCBbMCAwIDU5NS4yOCA4NDEu | |
ODldCj4+CmVuZG9iago0IDAgb2JqCjw8IC9Qcm9jU2V0IFsgL1BERiAvVGV4dCBdIC9Db2xvclNw | |
YWNlIDw8IC9DczEgNSAwIFIgPj4gL0ZvbnQgPDwgL1RUMSA2IDAgUgo+PiA+PgplbmRvYmoKOCAw | |
IG9iago8PCAvTiAzIC9BbHRlcm5hdGUgL0RldmljZVJHQiAvTGVuZ3RoIDI2MTIgL0ZpbHRlciAv | |
RmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBnZZ3VFPZFofPvTe90BIiICX0GnoJINI7SBUEUYlJgFAC | |
hoQmdkQFRhQRKVZkVMABR4ciY0UUC4OCYtcJ8hBQxsFRREXl3YxrCe+tNfPemv3HWd/Z57fX2Wfv | |
fde6AFD8ggTCdFgBgDShWBTu68FcEhPLxPcCGBABDlgBwOFmZgRH+EQC1Py9PZmZqEjGs/buLoBk | |
u9ssv1Amc9b/f5EiN0MkBgAKRdU2PH4mF+UClFOzxRky/wTK9JUpMoYxMhahCaKsIuPEr2z2p+Yr | |
u8mYlybkoRpZzhm8NJ6Mu1DemiXho4wEoVyYJeBno3wHZb1USZoA5fco09P4nEwAMBSZX8znJqFs | |
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 | |
TPVIjCSbJYNZC7Nqst5nR2WfylHMEeb05JrkbssdyfPJ+341ZjV3dWe+dv6G/ME17msOrYXWrlzb | |
uU53XcG64fW+649tIG1I2fDLRsuNZRvfbore1FGgUbC+YGiz7+bGQrlCUeG9Lc5bDmzFbBVs7d1m | |
s61q25ciXtH1YsviiuJPJdyS699ZfVf53cz2hO29pfal+3fgdgh33N3puvNYmWJZXtnQruBdreXM | |
8qLyt7tX7L5WYVtxYA9pj2SPtDKosr1Kr2pH1afqpOqBGo+a5r3qe7ftndrH29e/321/0wGNA8UH | |
Ph4UHLx/yPdQa61BbcVh3OGsw8/rouq6v2d/X39E7Ujxkc9HhUelx8KPddU71Nc3qDeUNsKNksax | |
43HHb/3g9UN7E6vpUDOjufgEOCE58eLH+B/vngw82XmKfarpJ/2f9rbQWopaodbc1om2pDZpe0x7 | |
3+mA050dzh0tP5v/fPSM9pmas8pnS8+RzhWcmzmfd37yQsaF8YuJF4c6V3Q+urTk0p2usK7ey4GX | |
r17xuXKp2737/FWXq2euOV07fZ19ve2G/Y3WHruell/sfmnpte9tvelws/2W462OvgV95/pd+y/e | |
9rp95Y7/nRsDiwb67i6+e/9e3D3pfd790QepD14/zHo4/Wj9Y+zjoicKTyqeqj+t/dX412apvfTs | |
oNdgz7OIZ4+GuEMv/5X5r0/DBc+pzytGtEbqR61Hz4z5jN16sfTF8MuMl9Pjhb8p/rb3ldGrn353 | |
+71nYsnE8GvR65k/St6ovjn61vZt52To5NN3ae+mp4req74/9oH9oftj9MeR6exP+E+Vn40/d3wJ | |
/PJ4Jm1m5t/3hPP7CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iagpbIC9JQ0NCYXNlZCA4IDAgUiBd | |
CmVuZG9iagoxMCAwIG9iago8PCAvVHlwZSAvU3RydWN0VHJlZVJvb3QgL0sgOSAwIFIgPj4KZW5k | |
b2JqCjkgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL0RvY3VtZW50IC9QIDEwIDAgUiAv | |
SyBbIDExIDAgUiBdICA+PgplbmRvYmoKMTEgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1Mg | |
L1AgL1AgOSAwIFIgL1BnIDEgMCBSIC9LIDEgID4+CmVuZG9iagoyIDAgb2JqCjw8IC9UeXBlIC9Q | |
YWdlcyAvTWVkaWFCb3ggWzAgMCA1OTUuMjggODQxLjg5XSAvQ291bnQgMSAvS2lkcyBbIDEgMCBS | |
IF0gPj4KZW5kb2JqCjEyIDAgb2JqCjw8IC9UeXBlIC9DYXRhbG9nIC9QYWdlcyAyIDAgUiAvTWFy | |
a0luZm8gPDwgL01hcmtlZCB0cnVlID4+IC9TdHJ1Y3RUcmVlUm9vdAoxMCAwIFIgPj4KZW5kb2Jq | |
CjcgMCBvYmoKWyAxIDAgUiAgL1hZWiAwIDg0MS44OSAwIF0KZW5kb2JqCjYgMCBvYmoKPDwgL1R5 | |
cGUgL0ZvbnQgL1N1YnR5cGUgL1RydWVUeXBlIC9CYXNlRm9udCAvQUFBQUFCK0hlbHZldGljYU5l | |
dWUgL0ZvbnREZXNjcmlwdG9yCjEzIDAgUiAvRW5jb2RpbmcgL01hY1JvbWFuRW5jb2RpbmcgL0Zp | |
cnN0Q2hhciAzMiAvTGFzdENoYXIgMTE3IC9XaWR0aHMgWyAyNzgKMCAwIDAgMCAwIDAgMCAwIDAg | |
MCAwIDAgMCAyNzggMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMAow | |
IDAgMCA3MjIgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg | |
NTM3IDAgNTM3IDU5MyA1MzcKMCAwIDAgMjIyIDAgMCAwIDg1MyA1NTYgNTc0IDAgMCAzMzMgNTAw | |
IDMxNSA1NTYgXSA+PgplbmRvYmoKMTMgMCBvYmoKPDwgL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9G | |
b250TmFtZSAvQUFBQUFCK0hlbHZldGljYU5ldWUgL0ZsYWdzIDMyIC9Gb250QkJveApbLTk1MSAt | |
NDgxIDE5ODcgMTA3N10gL0l0YWxpY0FuZ2xlIDAgL0FzY2VudCA5NTIgL0Rlc2NlbnQgLTIxMyAv | |
Q2FwSGVpZ2h0CjcxNCAvU3RlbVYgOTUgL0xlYWRpbmcgMjggL1hIZWlnaHQgNTE3IC9TdGVtSCA4 | |
MCAvQXZnV2lkdGggNDQ3IC9NYXhXaWR0aCAyMjI1Ci9Gb250RmlsZTIgMTQgMCBSID4+CmVuZG9i | |
agoxNCAwIG9iago8PCAvTGVuZ3RoMSA1MTE2IC9MZW5ndGggMjkyNCAvRmlsdGVyIC9GbGF0ZURl | |
Y29kZSA+PgpzdHJlYW0KeAGtWFtsG8cVvbN8inrw/ZBIibtcvkmRImlSb4qyRVmyYteOzYS0IyuS | |
rFgu4tpIVNdB0cBAG6PRR5OfBHBSpEULpCn6APPj0MxHjKZI2jQFjKIPIBCCfrRFUfijKJJ8JLHc | |
M7sUIydpYBRZ++zcmZ2dPXPunTsjbjzy9TXqokukodLq2eXzpFz6KIpfr17YENU6ewml56Hzp8+2 | |
6teJtNHTDz/2kFo3WIi6Lq2vLZ9S6/QxysI6GtQ624MyuH5246Ja1/0TZenhc6ut5/qbqAfOLl9s | |
fZ+2UBe/tnx2Te1v/yPK6Plzj2606k+jnDn/yFqrP6uiflB9tuvOYFtoHwlKm3ofIFS1fH5E/Dnw | |
n8c92iXzxPvMquG86Oq+B3lB7/510Prx/Lbf8Lo2j2pHaxzlHU3jdoJ8xpfx/JLhdWUk5Z3WzdIg | |
R4I18YZArgR7DfIWaZgS5Cc7uvgS9BqeHLizqUla/PMmGsTE8rfOeGYaZEIFbxE5+P8FOg7TenuM | |
OgUddQlvkRWPkwsN6jhcfZmx79Ua7PYTjRnqvwa2mqWTgxgqKYrlMzN19iAqQhINcQmWJinO1jWh | |
2Xurck3cFDfnT22Ks+L68qm6NqSUeLC2WUuLdTpaPYP7sapUL9W8bXOtVhvDOFo+Dl5B980aRvhq | |
awSUSlP6FjrpkgtiXRM+XD1SrV+a8dZLMzWvJInl+vXD1fr1Ga9Uq6GXvs0UjPn0Vc4GcNbH8dyo | |
jnIUY2CI2uYmHxM1ISzVr29uejcxE6VFlhqMWg2YKe+jCZUbrHS4yh+VZMnLG2RJlsCjNoOxO5IL | |
R6tlMJE4E9NnJKWZXZJ2tomibxfodSqSdn9JkvbcjaTmu5LU0mZ6h6RWcLZwSW2fL6n8BYK2FS59 | |
jsKXVIUvfY7C9jsUdnyxws42b5B0ga1TUdj9JSnsuRuFe+9K4b420zsU9oJzH1fY11a45K1TO2ih | |
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 | |
wXdcmJjCTxqM/Nij/gzfjNHPdo5VTZwx1EwkYsIZ2KIS+Zm0omgGimJLVhXNQJoMFM1A0QwUzUDR | |
DBTNQNEMFM1A0QwUzUDRDBTNQFGcv+Afns3iKJ0AP49NbEHpQiuTFfDhEPUpqvPDBD+08V1NPVgg | |
W8s8c2Fjh9KRFA4AavJ2f7LZaZ0tp2zw/f1QIvKVqUh/elIcmBjyO8SI3RkLuISKJjB6IBkoD8vZ | |
hepC1hNKOvoyEc+Ph/bFbOZwMR3KSg5s+fZ+l6PXrO9wSL3pqZDZKo9EsiN+qzMgefwWvckdgY4d | |
ELNf+CHWHDL5pzMfPzlzfxlQ8kzoxlS473g2dPBsyLDizPg1aifKtK0o06IDoSM/qDp5LsnLTtmZ | |
syLQxlleOQJZc/mrlWq1pz8tTUccvT2604Lu+ecXtl8JJj0dCxqTzcymF1p5Ab6+ibTqoSNNfKxb | |
+VyXsmncmald+KQLlNzI4EzxPWet7rK7coQRK5ozNiLiJOyXiuLhPLf4uaswnHOym5VdWWL0mBch | |
uL2lJgl2cvvnSBLewSFkCZ4nlOv29ymrWp+645c2BL8VG/sMTg37cfC8hw7TEbqXKjhB3I9DKL8Y | |
2QB+6flPR9P82puYW3v4wtrGmdXlQ2v41Y/+C0639PUKZW5kc3RyZWFtCmVuZG9iagoxNSAwIG9i | |
ago8PCAvVGl0bGUgKHRlc3QgZG9jdW1lbnQpIC9Qcm9kdWNlciAobWFjT1MgVmVyc2lvbiAxMy42 | |
IFwoQnVpbGQgMjJHMTIwXCkgUXVhcnR6IFBERkNvbnRleHQpCi9DcmVhdG9yIChQYWdlcykgL0Ny | |
ZWF0aW9uRGF0ZSAoRDoyMDIzMTExNTA2MzczMlowMCcwMCcpIC9Nb2REYXRlIChEOjIwMjMxMTE1 | |
MDYzNzMyWjAwJzAwJykKPj4KZW5kb2JqCnhyZWYKMCAxNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAw | |
MDAwMDAzMDMgMDAwMDAgbiAKMDAwMDAwMzQ1OCAwMDAwMCBuIAowMDAwMDAwMDIyIDAwMDAwIG4g | |
CjAwMDAwMDA0MTMgMDAwMDAgbiAKMDAwMDAwMzIyMiAwMDAwMCBuIAowMDAwMDAzNjkxIDAwMDAw | |
IG4gCjAwMDAwMDM2NDkgMDAwMDAgbiAKMDAwMDAwMDUxMCAwMDAwMCBuIAowMDAwMDAzMzEwIDAw | |
MDAwIG4gCjAwMDAwMDMyNTcgMDAwMDAgbiAKMDAwMDAwMzM4NyAwMDAwMCBuIAowMDAwMDAzNTQ3 | |
IDAwMDAwIG4gCjAwMDAwMDQwNjggMDAwMDAgbiAKMDAwMDAwNDMzNCAwMDAwMCBuIAowMDAwMDA3 | |
MzQ2IDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgMTYgL1Jvb3QgMTIgMCBSIC9JbmZvIDE1IDAg | |
UiAvSUQgWyA8NjVjMDk0MTMwOWM0NmQ0Yzc3N2U5MDVjMTlmNTA1YzA+Cjw2NWMwOTQxMzA5YzQ2 | |
ZDRjNzc3ZTkwNWMxOWY1MDVjMD4gXSA+PgpzdGFydHhyZWYKNzU0OQolJUVPRgo= | |
--001a11447dc881e40f0537fe6d5a-- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
declare(strict_types=1); | |
namespace App\Iterator; | |
use Laminas\Mime\Part; | |
class PartsFilterIterator extends \RecursiveFilterIterator | |
{ | |
public function accept(): bool | |
{ | |
/** @var Part $part */ | |
$part = parent::current(); | |
return $this->hasChildren() || | |
(str_starts_with($part->getType(), "text/plain") | |
|| str_starts_with($part->getType(), "text/html")) | |
; | |
} | |
public function hasChildren(): bool | |
{ | |
return $this->getInnerIterator()->hasChildren(); | |
} | |
public function getChildren(): PartsFilterIterator | |
{ | |
return new self($this->getInnerIterator()->getChildren()); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
declare(strict_types=1); | |
namespace AppTest\Iterator; | |
use App\Iterator\PartsFilterIterator; | |
use App\Iterator\PartsIterator; | |
use Laminas\Mail\Message; | |
use Laminas\Mime\Part; | |
use PHPUnit\Framework\TestCase; | |
use RecursiveArrayIterator; | |
class PartsFilterIteratorTest extends TestCase | |
{ | |
public function testIteratesSuccessfullyOverPartsData() | |
{ | |
$email = file_get_contents( | |
__DIR__ . '/../../_files/mail_with_pdf_attachment.eml' | |
); | |
$message = Message::fromString($email); | |
/** @var Part[] $iterator */ | |
$iterator = new \RecursiveIteratorIterator( | |
new PartsFilterIterator( | |
new PartsIterator( | |
$message->getBody()->getParts() | |
), | |
), | |
\RecursiveIteratorIterator::SELF_FIRST | |
); | |
foreach ($iterator as $key => $value) { | |
echo $value->getType(); | |
} | |
$this->assertCount(2, $iterator); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
declare(strict_types=1); | |
namespace App\Iterator; | |
use Laminas\Mime\Part; | |
class PartsIterator extends \RecursiveArrayIterator | |
{ | |
public function hasChildren(): bool | |
{ | |
/** @var Part $part */ | |
$part = $this->current(); | |
return ! empty($part->getParts()); | |
} | |
public function getChildren(): \RecursiveArrayIterator | |
{ | |
/** @var Part $current */ | |
$current = $this->current(); | |
return new PartsIterator($current->getParts()); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment