Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php class Swift_Mime_SimpleMessageAcceptanceTest extends \PHPUnit\Framework\TestCase { ..

Decoded Output download

<?php
 class Swift_Mime_SimpleMessageAcceptanceTest extends \PHPUnit\Framework\TestCase { protected function setUp() { Swift_Preferences::getInstance()->setCharset(null); } public function testBasicHeaders() { $message = $this->createMessage(); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Message-ID: <" . $id . ">" . "
\xa" . "Date: " . $date->format("r") . "
\xa" . "From: " . "
" . "MIME-Version: 1.0" . "
\xa" . "Content-Type: text/plain" . "
" . "Content-Transfer-Encoding: quoted-printable" . "\xd\xa", $message->toString(), "%s: Only required headers, and non-empty headers should be displayed"); } public function testSubjectIsDisplayedIfSet() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Message-ID: <" . $id . ">" . "
\xa" . "Date: " . $date->format("r") . "
" . "Subject: just a test subject" . "\xd
" . "From: " . "
\xa" . "MIME-Version: 1.0" . "
\xa" . "Content-Type: text/plain" . "
" . "Content-Transfer-Encoding: quoted-printable" . "\xd\xa", $message->toString()); } public function testDateCanBeSet() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $id = $message->getId(); $date = new DateTimeImmutable(); $message->setDate($date); $this->assertEquals("Message-ID: <" . $id . ">" . "
" . "Date: " . $date->format("r") . "\xd\xa" . "Subject: just a test subject" . "\xd
" . "From: " . "
\xa" . "MIME-Version: 1.0" . "
\xa" . "Content-Type: text/plain" . "
\xa" . "Content-Transfer-Encoding: quoted-printable" . "
", $message->toString()); } public function testMessageIdCanBeSet() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $message->setId("foo@bar"); $date = $message->getDate(); $this->assertEquals("Message-ID: <foo@bar>" . "\xd
" . "Date: " . $date->format("r") . "
" . "Subject: just a test subject" . "\xd
" . "From: " . "
" . "MIME-Version: 1.0" . "
" . "Content-Type: text/plain" . "\xd
" . "Content-Transfer-Encoding: quoted-printable" . "
\xa", $message->toString()); } public function testContentTypeCanBeChanged() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $message->setContentType("text/html"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Message-ID: <" . $id . ">" . "
\xa" . "Date: " . $date->format("r") . "
" . "Subject: just a test subject" . "\xd\xa" . "From: " . "\xd
" . "MIME-Version: 1.0" . "\xd
" . "Content-Type: text/html" . "
" . "Content-Transfer-Encoding: quoted-printable" . "
\xa", $message->toString()); } public function testCharsetCanBeSet() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $message->setContentType("text/html"); $message->setCharset("iso-8859-1"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Message-ID: <" . $id . ">" . "
" . "Date: " . $date->format("r") . "
" . "Subject: just a test subject" . "\xd\xa" . "From: " . "\xd
" . "MIME-Version: 1.0" . "
\xa" . "Content-Type: text/html; charset=iso-8859-1" . "
\xa" . "Content-Transfer-Encoding: quoted-printable" . "\xd
", $message->toString()); } public function testFormatCanBeSet() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $message->setFormat("flowed"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Message-ID: <" . $id . ">" . "\xd
" . "Date: " . $date->format("r") . "
" . "Subject: just a test subject" . "\xd\xa" . "From: " . "
" . "MIME-Version: 1.0" . "\xd\xa" . "Content-Type: text/plain; format=flowed" . "
" . "Content-Transfer-Encoding: quoted-printable" . "
\xa", $message->toString()); } public function testEncoderCanBeSet() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $message->setContentType("text/html"); $message->setEncoder(new Swift_Mime_ContentEncoder_PlainContentEncoder("7bit")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Message-ID: <" . $id . ">" . "
\xa" . "Date: " . $date->format("r") . "
\xa" . "Subject: just a test subject" . "\xd\xa" . "From: " . "\xd
" . "MIME-Version: 1.0" . "
" . "Content-Type: text/html" . "
\xa" . "Content-Transfer-Encoding: 7bit" . "\xd
", $message->toString()); } public function testFromAddressCanBeSet() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $message->setFrom("[email protected]"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Message-ID: <" . $id . ">" . "\xd\xa" . "Date: " . $date->format("r") . "
\xa" . "Subject: just a test subject" . "\xd\xa" . "From: [email protected]" . "
\xa" . "MIME-Version: 1.0" . "\xd
" . "Content-Type: text/plain" . "
" . "Content-Transfer-Encoding: quoted-printable" . "
\xa", $message->toString()); } public function testFromAddressCanBeSetWithName() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris Corbyn")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Message-ID: <" . $id . ">" . "\xd
" . "Date: " . $date->format("r") . "\xd
" . "Subject: just a test subject" . "
\xa" . "From: Chris Corbyn <[email protected]>" . "
" . "MIME-Version: 1.0" . "
\xa" . "Content-Type: text/plain" . "\xd\xa" . "Content-Transfer-Encoding: quoted-printable" . "\xd
", $message->toString()); } public function testMultipleFromAddressesCanBeSet() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris Corbyn", "[email protected]")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Message-ID: <" . $id . ">" . "\xd
" . "Date: " . $date->format("r") . "\xd\xa" . "Subject: just a test subject" . "
\xa" . "From: Chris Corbyn <[email protected]>, [email protected]" . "\xd
" . "MIME-Version: 1.0" . "\xd\xa" . "Content-Type: text/plain" . "\xd\xa" . "Content-Transfer-Encoding: quoted-printable" . "\xd\xa", $message->toString()); } public function testReturnPathAddressCanBeSet() { $message = $this->createMessage(); $message->setReturnPath("[email protected]"); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris Corbyn")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Return-Path: <[email protected]>" . "\xd
" . "Message-ID: <" . $id . ">" . "\xd
" . "Date: " . $date->format("r") . "\xd\xa" . "Subject: just a test subject" . "
\xa" . "From: Chris Corbyn <[email protected]>" . "
\xa" . "MIME-Version: 1.0" . "
" . "Content-Type: text/plain" . "
" . "Content-Transfer-Encoding: quoted-printable" . "
", $message->toString()); } public function testEmptyReturnPathHeaderCanBeUsed() { $message = $this->createMessage(); $message->setReturnPath(''); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris Corbyn")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Return-Path: <>" . "\xd\xa" . "Message-ID: <" . $id . ">" . "
" . "Date: " . $date->format("r") . "\xd
" . "Subject: just a test subject" . "
" . "From: Chris Corbyn <[email protected]>" . "
\xa" . "MIME-Version: 1.0" . "\xd\xa" . "Content-Type: text/plain" . "\xd
" . "Content-Transfer-Encoding: quoted-printable" . "
\xa", $message->toString()); } public function testSenderCanBeSet() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $message->setSender("[email protected]"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Sender: [email protected]" . "\xd
" . "Message-ID: <" . $id . ">" . "
" . "Date: " . $date->format("r") . "\xd
" . "Subject: just a test subject" . "
" . "From: " . "\xd
" . "MIME-Version: 1.0" . "
" . "Content-Type: text/plain" . "
\xa" . "Content-Transfer-Encoding: quoted-printable" . "\xd\xa", $message->toString()); } public function testSenderCanBeSetWithName() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $message->setSender(array("[email protected]" => "Chris")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Sender: Chris <[email protected]>" . "\xd\xa" . "Message-ID: <" . $id . ">" . "\xd
" . "Date: " . $date->format("r") . "
" . "Subject: just a test subject" . "
" . "From: " . "
\xa" . "MIME-Version: 1.0" . "\xd
" . "Content-Type: text/plain" . "\xd
" . "Content-Transfer-Encoding: quoted-printable" . "
", $message->toString()); } public function testReplyToCanBeSet() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris")); $message->setReplyTo(array("[email protected]" => "Myself")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Message-ID: <" . $id . ">" . "
\xa" . "Date: " . $date->format("r") . "\xd\xa" . "Subject: just a test subject" . "\xd\xa" . "From: Chris <[email protected]>" . "
\xa" . "Reply-To: Myself <[email protected]>" . "
\xa" . "MIME-Version: 1.0" . "\xd
" . "Content-Type: text/plain" . "\xd
" . "Content-Transfer-Encoding: quoted-printable" . "\xd\xa", $message->toString()); } public function testMultipleReplyAddressCanBeUsed() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris")); $message->setReplyTo(array("[email protected]" => "Myself", "[email protected]" => "Me")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Message-ID: <" . $id . ">" . "\xd\xa" . "Date: " . $date->format("r") . "\xd\xa" . "Subject: just a test subject" . "\xd
" . "From: Chris <[email protected]>" . "
\xa" . "Reply-To: Myself <[email protected]>, Me <[email protected]>" . "
" . "MIME-Version: 1.0" . "\xd\xa" . "Content-Type: text/plain" . "\xd\xa" . "Content-Transfer-Encoding: quoted-printable" . "\xd\xa", $message->toString()); } public function testToAddressCanBeSet() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris")); $message->setReplyTo(array("[email protected]" => "Myself", "[email protected]" => "Me")); $message->setTo("[email protected]"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Message-ID: <" . $id . ">" . "\xd
" . "Date: " . $date->format("r") . "
" . "Subject: just a test subject" . "\xd
" . "From: Chris <[email protected]>" . "\xd\xa" . "Reply-To: Myself <[email protected]>, Me <[email protected]>" . "
\xa" . "To: [email protected]" . "
\xa" . "MIME-Version: 1.0" . "
" . "Content-Type: text/plain" . "\xd\xa" . "Content-Transfer-Encoding: quoted-printable" . "
\xa", $message->toString()); } public function testMultipleToAddressesCanBeSet() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris")); $message->setReplyTo(array("[email protected]" => "Myself", "[email protected]" => "Me")); $message->setTo(array("[email protected]", "[email protected]" => "Chris Corbyn")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Message-ID: <" . $id . ">" . "\xd
" . "Date: " . $date->format("r") . "
\xa" . "Subject: just a test subject" . "\xd
" . "From: Chris <[email protected]>" . "\xd
" . "Reply-To: Myself <[email protected]>, Me <[email protected]>" . "
" . "To: [email protected], Chris Corbyn <[email protected]>" . "\xd\xa" . "MIME-Version: 1.0" . "\xd\xa" . "Content-Type: text/plain" . "
" . "Content-Transfer-Encoding: quoted-printable" . "\xd
", $message->toString()); } public function testCcAddressCanBeSet() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris")); $message->setReplyTo(array("[email protected]" => "Myself", "[email protected]" => "Me")); $message->setTo(array("[email protected]", "[email protected]" => "Chris Corbyn")); $message->setCc("[email protected]"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Message-ID: <" . $id . ">" . "
\xa" . "Date: " . $date->format("r") . "\xd\xa" . "Subject: just a test subject" . "\xd
" . "From: Chris <[email protected]>" . "
" . "Reply-To: Myself <[email protected]>, Me <[email protected]>" . "
\xa" . "To: [email protected], Chris Corbyn <[email protected]>" . "
" . "Cc: [email protected]" . "\xd\xa" . "MIME-Version: 1.0" . "
" . "Content-Type: text/plain" . "
" . "Content-Transfer-Encoding: quoted-printable" . "\xd
", $message->toString()); } public function testMultipleCcAddressesCanBeSet() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris")); $message->setReplyTo(array("[email protected]" => "Myself", "[email protected]" => "Me")); $message->setTo(array("[email protected]", "[email protected]" => "Chris Corbyn")); $message->setCc(array("[email protected]" => "John West", "[email protected]" => "Big Fred")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Message-ID: <" . $id . ">" . "\xd
" . "Date: " . $date->format("r") . "
" . "Subject: just a test subject" . "
\xa" . "From: Chris <[email protected]>" . "
\xa" . "Reply-To: Myself <[email protected]>, Me <[email protected]>" . "\xd\xa" . "To: [email protected], Chris Corbyn <[email protected]>" . "
\xa" . "Cc: John West <[email protected]>, Big Fred <[email protected]>" . "
\xa" . "MIME-Version: 1.0" . "\xd
" . "Content-Type: text/plain" . "\xd
" . "Content-Transfer-Encoding: quoted-printable" . "
", $message->toString()); } public function testBccAddressCanBeSet() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris")); $message->setReplyTo(array("[email protected]" => "Myself", "[email protected]" => "Me")); $message->setTo(array("[email protected]", "[email protected]" => "Chris Corbyn")); $message->setCc(array("[email protected]" => "John West", "[email protected]" => "Big Fred")); $message->setBcc("[email protected]"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Message-ID: <" . $id . ">" . "\xd
" . "Date: " . $date->format("r") . "\xd\xa" . "Subject: just a test subject" . "
" . "From: Chris <[email protected]>" . "
\xa" . "Reply-To: Myself <[email protected]>, Me <[email protected]>" . "
\xa" . "To: [email protected], Chris Corbyn <[email protected]>" . "
\xa" . "Cc: John West <[email protected]>, Big Fred <[email protected]>" . "
" . "Bcc: [email protected]" . "\xd\xa" . "MIME-Version: 1.0" . "
" . "Content-Type: text/plain" . "\xd\xa" . "Content-Transfer-Encoding: quoted-printable" . "\xd\xa", $message->toString()); } public function testMultipleBccAddressesCanBeSet() { $message = $this->createMessage(); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris")); $message->setReplyTo(array("[email protected]" => "Myself", "[email protected]" => "Me")); $message->setTo(array("[email protected]", "[email protected]" => "Chris Corbyn")); $message->setCc(array("[email protected]" => "John West", "[email protected]" => "Big Fred")); $message->setBcc(array("[email protected]", "[email protected]" => "A")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Message-ID: <" . $id . ">" . "\xd
" . "Date: " . $date->format("r") . "\xd
" . "Subject: just a test subject" . "
" . "From: Chris <[email protected]>" . "\xd\xa" . "Reply-To: Myself <[email protected]>, Me <[email protected]>" . "
\xa" . "To: [email protected], Chris Corbyn <[email protected]>" . "
" . "Cc: John West <[email protected]>, Big Fred <[email protected]>" . "
" . "Bcc: [email protected], A <[email protected]>" . "
" . "MIME-Version: 1.0" . "\xd
" . "Content-Type: text/plain" . "\xd\xa" . "Content-Transfer-Encoding: quoted-printable" . "
", $message->toString()); } public function testStringBodyIsAppended() { $message = $this->createMessage(); $message->setReturnPath("[email protected]"); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris Corbyn")); $message->setBody("just a test body" . "\xd
" . "with a new line"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Return-Path: <[email protected]>" . "\xd\xa" . "Message-ID: <" . $id . ">" . "\xd\xa" . "Date: " . $date->format("r") . "\xd
" . "Subject: just a test subject" . "\xd
" . "From: Chris Corbyn <[email protected]>" . "\xd\xa" . "MIME-Version: 1.0" . "\xd\xa" . "Content-Type: text/plain" . "
" . "Content-Transfer-Encoding: quoted-printable" . "\xd
" . "\xd
" . "just a test body" . "\xd
" . "with a new line", $message->toString()); } public function testStringBodyIsEncoded() { $message = $this->createMessage(); $message->setReturnPath("[email protected]"); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris Corbyn")); $message->setBody("Just s" . pack("C*", 194, 1, 1) . "me multi-" . "
\xa" . "line message!"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Return-Path: <[email protected]>" . "
" . "Message-ID: <" . $id . ">" . "\xd
" . "Date: " . $date->format("r") . "\xd
" . "Subject: just a test subject" . "\xd
" . "From: Chris Corbyn <[email protected]>" . "\xd\xa" . "MIME-Version: 1.0" . "\xd\xa" . "Content-Type: text/plain" . "\xd\xa" . "Content-Transfer-Encoding: quoted-printable" . "
" . "\xd\xa" . "Just s=C2=01=01me multi-" . "
" . "line message!", $message->toString()); } public function testChildrenCanBeAttached() { $message = $this->createMessage(); $message->setReturnPath("[email protected]"); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris Corbyn")); $id = $message->getId(); $date = $message->getDate(); $boundary = $message->getBoundary(); $part1 = $this->createMimePart(); $part1->setContentType("text/plain"); $part1->setCharset("iso-8859-1"); $part1->setBody("foo"); $message->attach($part1); $part2 = $this->createMimePart(); $part2->setContentType("text/html"); $part2->setCharset("iso-8859-1"); $part2->setBody("test <b>foo</b>"); $message->attach($part2); $this->assertEquals("Return-Path: <[email protected]>" . "\xd
" . "Message-ID: <" . $id . ">" . "
" . "Date: " . $date->format("r") . "\xd\xa" . "Subject: just a test subject" . "\xd
" . "From: Chris Corbyn <[email protected]>" . "\xd
" . "MIME-Version: 1.0" . "
" . "Content-Type: multipart/alternative;" . "\xd\xa" . " boundary="" . $boundary . """ . "
" . "\xd\xa\xd\xa" . "--" . $boundary . "\xd\xa" . "Content-Type: text/plain; charset=iso-8859-1" . "
\xa" . "Content-Transfer-Encoding: quoted-printable" . "\xd
" . "\xd\xa" . "foo" . "\xd
\xd
" . "--" . $boundary . "\xd\xa" . "Content-Type: text/html; charset=iso-8859-1" . "\xd\xa" . "Content-Transfer-Encoding: quoted-printable" . "
" . "\xd
" . "test <b>foo</b>" . "

\xa" . "--" . $boundary . "--" . "\xd
", $message->toString()); } public function testAttachmentsBeingAttached() { $message = $this->createMessage(); $message->setReturnPath("[email protected]"); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris Corbyn")); $id = $message->getId(); $date = preg_quote($message->getDate()->format("r"), "~"); $boundary = $message->getBoundary(); $part = $this->createMimePart(); $part->setContentType("text/plain"); $part->setCharset("iso-8859-1"); $part->setBody("foo"); $message->attach($part); $attachment = $this->createAttachment(); $attachment->setContentType("application/pdf"); $attachment->setFilename("foo.pdf"); $attachment->setBody("<pdf data>"); $message->attach($attachment); $this->assertMatchesRegularExpression("~^" . "Return-Path: <[email protected]>" . "
" . "Message-ID: <" . $id . ">" . "\xd\xa" . "Date: " . $date . "\xd\xa" . "Subject: just a test subject" . "
\xa" . "From: Chris Corbyn <[email protected]>" . "
\xa" . "MIME-Version: 1.0" . "
\xa" . "Content-Type: multipart/mixed;" . "\xd\xa" . " boundary="" . $boundary . """ . "
\xa" . "\xd
\xd\xa" . "--" . $boundary . "
\xa" . "Content-Type: multipart/alternative;" . "\xd
" . " boundary="(.*?)"" . "\xd
" . "\xd\xa
\xa" . "--\1" . "
" . "Content-Type: text/plain; charset=iso-8859-1" . "
\xa" . "Content-Transfer-Encoding: quoted-printable" . "\xd
" . "
\xa" . "foo" . "

\xa" . "--\1--" . "
\xa" . "
\xd
" . "--" . $boundary . "
\xa" . "Content-Type: application/pdf; name=foo.pdf" . "
" . "Content-Transfer-Encoding: base64" . "
\xa" . "Content-Disposition: attachment; filename=foo.pdf" . "
" . "\xd\xa" . preg_quote(base64_encode("<pdf data>"), "~") . "
\xa\xd
" . "--" . $boundary . "--" . "\xd
" . "$~D", $message->toString()); } public function testAttachmentsAndEmbeddedFilesBeingAttached() { $message = $this->createMessage(); $message->setReturnPath("[email protected]"); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris Corbyn")); $id = $message->getId(); $date = preg_quote($message->getDate()->format("r"), "~"); $boundary = $message->getBoundary(); $part = $this->createMimePart(); $part->setContentType("text/plain"); $part->setCharset("iso-8859-1"); $part->setBody("foo"); $message->attach($part); $attachment = $this->createAttachment(); $attachment->setContentType("application/pdf"); $attachment->setFilename("foo.pdf"); $attachment->setBody("<pdf data>"); $message->attach($attachment); $file = $this->createEmbeddedFile(); $file->setContentType("image/jpeg"); $file->setFilename("myimage.jpg"); $file->setBody("<image data>"); $message->attach($file); $cid = $file->getId(); $this->assertMatchesRegularExpression("~^" . "Return-Path: <[email protected]>" . "\xd\xa" . "Message-ID: <" . $id . ">" . "\xd
" . "Date: " . $date . "
\xa" . "Subject: just a test subject" . "\xd\xa" . "From: Chris Corbyn <[email protected]>" . "
\xa" . "MIME-Version: 1.0" . "\xd\xa" . "Content-Type: multipart/mixed;" . "
\xa" . " boundary="" . $boundary . """ . "
" . "\xd

\xa" . "--" . $boundary . "
" . "Content-Type: multipart/alternative;" . "
" . " boundary="(.*?)"" . "
\xa" . "\xd

" . "--\1" . "
" . "Content-Type: text/plain; charset=iso-8859-1" . "\xd\xa" . "Content-Transfer-Encoding: quoted-printable" . "\xd\xa" . "\xd
" . "foo" . "
\xa\xd
" . "--\1" . "\xd\xa" . "Content-Type: multipart/related;" . "\xd\xa" . " boundary="(.*?)"" . "\xd
" . "\xd
\xd\xa" . "--\2" . "
\xa" . "Content-Type: image/jpeg; name=myimage.jpg" . "
\xa" . "Content-Transfer-Encoding: base64" . "
\xa" . "Content-ID: <" . $cid . ">" . "\xd\xa" . "Content-Disposition: inline; filename=myimage.jpg" . "\xd
" . "
\xa" . preg_quote(base64_encode("<image data>"), "~") . "
\xd
" . "--\2--" . "\xd
" . "\xd

" . "--\1--" . "\xd
" . "

\xa" . "--" . $boundary . "
" . "Content-Type: application/pdf; name=foo.pdf" . "\xd\xa" . "Content-Transfer-Encoding: base64" . "
" . "Content-Disposition: attachment; filename=foo.pdf" . "
" . "\xd\xa" . preg_quote(base64_encode("<pdf data>"), "~") . "\xd\xa
\xa" . "--" . $boundary . "--" . "
" . "$~D", $message->toString()); } public function testComplexEmbeddingOfContent() { $message = $this->createMessage(); $message->setReturnPath("[email protected]"); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris Corbyn")); $id = $message->getId(); $date = preg_quote($message->getDate()->format("r"), "~"); $boundary = $message->getBoundary(); $attachment = $this->createAttachment(); $attachment->setContentType("application/pdf"); $attachment->setFilename("foo.pdf"); $attachment->setBody("<pdf data>"); $message->attach($attachment); $file = $this->createEmbeddedFile(); $file->setContentType("image/jpeg"); $file->setFilename("myimage.jpg"); $file->setBody("<image data>"); $part = $this->createMimePart(); $part->setContentType("text/html"); $part->setCharset("iso-8859-1"); $part->setBody("foo <img src="" . $message->embed($file) . "" />"); $message->attach($part); $cid = $file->getId(); $this->assertMatchesRegularExpression("~^" . "Return-Path: <[email protected]>" . "\xd
" . "Message-ID: <" . $id . ">" . "
\xa" . "Date: " . $date . "
" . "Subject: just a test subject" . "
" . "From: Chris Corbyn <[email protected]>" . "\xd\xa" . "MIME-Version: 1.0" . "
" . "Content-Type: multipart/mixed;" . "
" . " boundary="" . $boundary . """ . "\xd\xa" . "\xd\xa
" . "--" . $boundary . "\xd
" . "Content-Type: multipart/related;" . "
" . " boundary="(.*?)"" . "\xd\xa" . "
\xd\xa" . "--\1" . "\xd\xa" . "Content-Type: text/html; charset=iso-8859-1" . "
\xa" . "Content-Transfer-Encoding: quoted-printable" . "
" . "
" . "foo <img src=3D"cid:" . $cid . "" />" . "\xd\xa
" . "--\1" . "\xd\xa" . "Content-Type: image/jpeg; name=myimage.jpg" . "\xd
" . "Content-Transfer-Encoding: base64" . "
\xa" . "Content-ID: <" . $cid . ">" . "
\xa" . "Content-Disposition: inline; filename=myimage.jpg" . "
" . "
\xa" . preg_quote(base64_encode("<image data>"), "~") . "\xd
\xd
" . "--\1--" . "\xd\xa" . "
\xa
" . "--" . $boundary . "
\xa" . "Content-Type: application/pdf; name=foo.pdf" . "
" . "Content-Transfer-Encoding: base64" . "
\xa" . "Content-Disposition: attachment; filename=foo.pdf" . "
" . "\xd
" . preg_quote(base64_encode("<pdf data>"), "~") . "
\xd
" . "--" . $boundary . "--" . "\xd
" . "$~D", $message->toString()); } public function testAttachingAndDetachingContent() { $message = $this->createMessage(); $message->setReturnPath("[email protected]"); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris Corbyn")); $id = $message->getId(); $date = preg_quote($message->getDate()->format("r"), "~"); $boundary = $message->getBoundary(); $part = $this->createMimePart(); $part->setContentType("text/plain"); $part->setCharset("iso-8859-1"); $part->setBody("foo"); $message->attach($part); $attachment = $this->createAttachment(); $attachment->setContentType("application/pdf"); $attachment->setFilename("foo.pdf"); $attachment->setBody("<pdf data>"); $message->attach($attachment); $file = $this->createEmbeddedFile(); $file->setContentType("image/jpeg"); $file->setFilename("myimage.jpg"); $file->setBody("<image data>"); $message->attach($file); $cid = $file->getId(); $message->detach($attachment); $this->assertMatchesRegularExpression("~^" . "Return-Path: <[email protected]>" . "\xd
" . "Message-ID: <" . $id . ">" . "
" . "Date: " . $date . "
\xa" . "Subject: just a test subject" . "\xd\xa" . "From: Chris Corbyn <[email protected]>" . "
\xa" . "MIME-Version: 1.0" . "
\xa" . "Content-Type: multipart/alternative;" . "
\xa" . " boundary="" . $boundary . """ . "\xd
" . "\xd

" . "--" . $boundary . "
" . "Content-Type: text/plain; charset=iso-8859-1" . "\xd
" . "Content-Transfer-Encoding: quoted-printable" . "\xd\xa" . "\xd\xa" . "foo" . "
\xa
\xa" . "--" . $boundary . "
\xa" . "Content-Type: multipart/related;" . "\xd
" . " boundary="(.*?)"" . "
\xa" . "
\xd\xa" . "--\1" . "
\xa" . "Content-Type: image/jpeg; name=myimage.jpg" . "
" . "Content-Transfer-Encoding: base64" . "\xd\xa" . "Content-ID: <" . $cid . ">" . "
" . "Content-Disposition: inline; filename=myimage.jpg" . "\xd
" . "\xd\xa" . preg_quote(base64_encode("<image data>"), "~") . "\xd

\xa" . "--\1--" . "\xd\xa" . "\xd

\xa" . "--" . $boundary . "--" . "
" . "$~D", $message->toString(), "%s: Attachment should have been detached"); } public function testBoundaryDoesNotAppearAfterAllPartsAreDetached() { $message = $this->createMessage(); $message->setReturnPath("[email protected]"); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris Corbyn")); $id = $message->getId(); $date = $message->getDate(); $boundary = $message->getBoundary(); $part1 = $this->createMimePart(); $part1->setContentType("text/plain"); $part1->setCharset("iso-8859-1"); $part1->setBody("foo"); $message->attach($part1); $part2 = $this->createMimePart(); $part2->setContentType("text/html"); $part2->setCharset("iso-8859-1"); $part2->setBody("test <b>foo</b>"); $message->attach($part2); $message->detach($part1); $message->detach($part2); $this->assertEquals("Return-Path: <[email protected]>" . "
\xa" . "Message-ID: <" . $id . ">" . "\xd
" . "Date: " . $date->format("r") . "\xd
" . "Subject: just a test subject" . "\xd\xa" . "From: Chris Corbyn <[email protected]>" . "
\xa" . "MIME-Version: 1.0" . "\xd
" . "Content-Type: text/plain" . "\xd
" . "Content-Transfer-Encoding: quoted-printable" . "\xd
", $message->toString(), "%s: Message should be restored to orignal state after parts are detached"); } public function testCharsetFormatOrDelSpAreNotShownWhenBoundaryIsSet() { $message = $this->createMessage(); $message->setReturnPath("[email protected]"); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris Corbyn")); $message->setCharset("utf-8"); $message->setFormat("flowed"); $message->setDelSp(true); $id = $message->getId(); $date = $message->getDate(); $boundary = $message->getBoundary(); $part1 = $this->createMimePart(); $part1->setContentType("text/plain"); $part1->setCharset("iso-8859-1"); $part1->setBody("foo"); $message->attach($part1); $part2 = $this->createMimePart(); $part2->setContentType("text/html"); $part2->setCharset("iso-8859-1"); $part2->setBody("test <b>foo</b>"); $message->attach($part2); $this->assertEquals("Return-Path: <[email protected]>" . "\xd
" . "Message-ID: <" . $id . ">" . "\xd
" . "Date: " . $date->format("r") . "\xd\xa" . "Subject: just a test subject" . "\xd
" . "From: Chris Corbyn <[email protected]>" . "\xd\xa" . "MIME-Version: 1.0" . "
" . "Content-Type: multipart/alternative;" . "
" . " boundary="" . $boundary . """ . "
\xa" . "\xd
\xd
" . "--" . $boundary . "\xd\xa" . "Content-Type: text/plain; charset=iso-8859-1" . "
" . "Content-Transfer-Encoding: quoted-printable" . "
\xa" . "\xd\xa" . "foo" . "

\xa" . "--" . $boundary . "\xd
" . "Content-Type: text/html; charset=iso-8859-1" . "
" . "Content-Transfer-Encoding: quoted-printable" . "
\xa" . "\xd
" . "test <b>foo</b>" . "

" . "--" . $boundary . "--" . "
", $message->toString()); } public function testBodyCanBeSetWithAttachments() { $message = $this->createMessage(); $message->setReturnPath("[email protected]"); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris Corbyn")); $message->setContentType("text/html"); $message->setCharset("iso-8859-1"); $message->setBody("foo"); $id = $message->getId(); $date = $message->getDate()->format("r"); $boundary = $message->getBoundary(); $attachment = $this->createAttachment(); $attachment->setContentType("application/pdf"); $attachment->setFilename("foo.pdf"); $attachment->setBody("<pdf data>"); $message->attach($attachment); $this->assertEquals("Return-Path: <[email protected]>" . "
" . "Message-ID: <" . $id . ">" . "
" . "Date: " . $date . "
\xa" . "Subject: just a test subject" . "
" . "From: Chris Corbyn <[email protected]>" . "\xd
" . "MIME-Version: 1.0" . "\xd
" . "Content-Type: multipart/mixed;" . "
" . " boundary="" . $boundary . """ . "\xd\xa" . "
\xd
" . "--" . $boundary . "\xd
" . "Content-Type: text/html; charset=iso-8859-1" . "
\xa" . "Content-Transfer-Encoding: quoted-printable" . "\xd\xa" . "\xd
" . "foo" . "
\xd\xa" . "--" . $boundary . "
" . "Content-Type: application/pdf; name=foo.pdf" . "
" . "Content-Transfer-Encoding: base64" . "
\xa" . "Content-Disposition: attachment; filename=foo.pdf" . "\xd\xa" . "
" . base64_encode("<pdf data>") . "

" . "--" . $boundary . "--" . "
\xa", $message->toString()); } public function testHtmlPartAlwaysAppearsLast() { $message = $this->createMessage(); $message->setReturnPath("[email protected]"); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris Corbyn")); $id = $message->getId(); $date = $message->getDate()->format("r"); $boundary = $message->getBoundary(); $part1 = $this->createMimePart(); $part1->setContentType("text/html"); $part1->setBody("foo"); $part2 = $this->createMimePart(); $part2->setContentType("text/plain"); $part2->setBody("bar"); $message->attach($part1); $message->attach($part2); $this->assertEquals("Return-Path: <[email protected]>" . "
\xa" . "Message-ID: <" . $id . ">" . "
\xa" . "Date: " . $date . "\xd\xa" . "Subject: just a test subject" . "\xd\xa" . "From: Chris Corbyn <[email protected]>" . "\xd\xa" . "MIME-Version: 1.0" . "
\xa" . "Content-Type: multipart/alternative;" . "
\xa" . " boundary="" . $boundary . """ . "\xd
" . "
\xd\xa" . "--" . $boundary . "
\xa" . "Content-Type: text/plain" . "
\xa" . "Content-Transfer-Encoding: quoted-printable" . "
\xa" . "\xd\xa" . "bar" . "

\xa" . "--" . $boundary . "
\xa" . "Content-Type: text/html" . "
\xa" . "Content-Transfer-Encoding: quoted-printable" . "\xd\xa" . "
" . "foo" . "

\xa" . "--" . $boundary . "--" . "
\xa", $message->toString()); } public function testBodyBecomesPartIfOtherPartsAttached() { $message = $this->createMessage(); $message->setReturnPath("[email protected]"); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris Corbyn")); $message->setContentType("text/html"); $message->setBody("foo"); $id = $message->getId(); $date = $message->getDate()->format("r"); $boundary = $message->getBoundary(); $part2 = $this->createMimePart(); $part2->setContentType("text/plain"); $part2->setBody("bar"); $message->attach($part2); $this->assertEquals("Return-Path: <[email protected]>" . "
\xa" . "Message-ID: <" . $id . ">" . "\xd
" . "Date: " . $date . "\xd\xa" . "Subject: just a test subject" . "\xd\xa" . "From: Chris Corbyn <[email protected]>" . "\xd
" . "MIME-Version: 1.0" . "
\xa" . "Content-Type: multipart/alternative;" . "
" . " boundary="" . $boundary . """ . "\xd\xa" . "\xd\xa\xd
" . "--" . $boundary . "\xd\xa" . "Content-Type: text/plain" . "\xd
" . "Content-Transfer-Encoding: quoted-printable" . "
" . "
\xa" . "bar" . "
\xa\xd
" . "--" . $boundary . "\xd
" . "Content-Type: text/html" . "
" . "Content-Transfer-Encoding: quoted-printable" . "\xd
" . "
" . "foo" . "
\xa\xd\xa" . "--" . $boundary . "--" . "
", $message->toString()); } public function testBodyIsCanonicalized() { $message = $this->createMessage(); $message->setReturnPath("[email protected]"); $message->setSubject("just a test subject"); $message->setFrom(array("[email protected]" => "Chris Corbyn")); $message->setBody("just a test body" . "
" . "with a new line"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("Return-Path: <[email protected]>" . "\xd\xa" . "Message-ID: <" . $id . ">" . "\xd
" . "Date: " . $date->format("r") . "\xd
" . "Subject: just a test subject" . "
" . "From: Chris Corbyn <[email protected]>" . "\xd
" . "MIME-Version: 1.0" . "
\xa" . "Content-Type: text/plain" . "\xd
" . "Content-Transfer-Encoding: quoted-printable" . "
\xa" . "
" . "just a test body" . "
\xa" . "with a new line", $message->toString()); } protected function createMessage() { return new Swift_Message(); } protected function createMimePart() { return new Swift_MimePart(); } protected function createAttachment() { return new Swift_Attachment(); } protected function createEmbeddedFile() { return new Swift_EmbeddedFile(); } } ?>

Did this file decode correctly?

Original Code

<?php
 class Swift_Mime_SimpleMessageAcceptanceTest extends \PHPUnit\Framework\TestCase { protected function setUp() { Swift_Preferences::getInstance()->setCharset(null); } public function testBasicHeaders() { $message = $this->createMessage(); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\115\x65\163\x73\141\147\x65\55\x49\104\x3a\x20\x3c" . $id . "\x3e" . "\15\xa" . "\104\141\x74\x65\x3a\x20" . $date->format("\162") . "\15\xa" . "\x46\x72\157\x6d\x3a\x20" . "\15\12" . "\x4d\x49\x4d\105\55\x56\x65\x72\x73\151\x6f\x6e\72\40\61\x2e\60" . "\15\xa" . "\x43\x6f\156\164\145\x6e\164\55\x54\171\x70\145\x3a\x20\x74\145\170\164\x2f\160\154\x61\151\156" . "\15\12" . "\x43\157\156\x74\x65\156\164\x2d\x54\162\x61\x6e\x73\x66\145\x72\55\x45\156\143\x6f\144\x69\156\147\72\40\x71\x75\157\164\x65\x64\55\160\x72\151\156\164\141\x62\154\x65" . "\xd\xa", $message->toString(), "\x25\163\x3a\x20\117\x6e\x6c\x79\40\x72\x65\161\165\x69\162\x65\144\40\150\145\141\x64\x65\162\163\54\x20\141\156\144\40\x6e\x6f\156\x2d\145\155\x70\x74\171\x20\150\x65\x61\x64\145\162\x73\40\x73\150\x6f\165\154\x64\x20\142\145\40\144\x69\163\x70\154\x61\x79\x65\144"); } public function testSubjectIsDisplayedIfSet() { $message = $this->createMessage(); $message->setSubject("\152\165\x73\x74\x20\141\x20\x74\145\163\x74\x20\x73\x75\142\152\145\143\x74"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\115\145\163\x73\141\x67\x65\x2d\x49\104\x3a\40\74" . $id . "\76" . "\15\xa" . "\x44\x61\164\145\x3a\40" . $date->format("\x72") . "\15\12" . "\x53\x75\142\152\x65\x63\164\72\40\152\x75\x73\x74\40\141\x20\164\x65\163\164\x20\163\165\x62\x6a\x65\x63\164" . "\xd\12" . "\106\x72\x6f\155\x3a\x20" . "\15\xa" . "\115\111\x4d\105\55\126\x65\162\x73\151\x6f\156\72\x20\61\x2e\x30" . "\15\xa" . "\103\x6f\x6e\164\145\x6e\164\55\124\171\x70\145\72\x20\164\x65\x78\164\x2f\x70\x6c\x61\x69\x6e" . "\15\12" . "\x43\x6f\x6e\x74\x65\156\x74\x2d\124\162\x61\x6e\x73\146\145\162\55\105\156\143\x6f\x64\x69\156\x67\x3a\x20\x71\x75\157\164\x65\144\x2d\x70\162\151\156\164\141\x62\x6c\145" . "\xd\xa", $message->toString()); } public function testDateCanBeSet() { $message = $this->createMessage(); $message->setSubject("\x6a\165\x73\x74\40\x61\x20\164\145\x73\164\40\163\165\x62\152\x65\x63\164"); $id = $message->getId(); $date = new DateTimeImmutable(); $message->setDate($date); $this->assertEquals("\x4d\x65\163\163\x61\x67\x65\55\x49\x44\72\40\74" . $id . "\76" . "\15\12" . "\x44\x61\x74\145\x3a\x20" . $date->format("\162") . "\xd\xa" . "\123\165\x62\x6a\145\143\164\72\40\152\x75\x73\x74\x20\x61\x20\164\x65\163\x74\x20\163\165\x62\152\x65\x63\164" . "\xd\12" . "\x46\x72\x6f\155\72\40" . "\15\xa" . "\x4d\111\x4d\x45\55\126\x65\x72\163\x69\157\156\x3a\40\61\x2e\x30" . "\15\xa" . "\x43\x6f\x6e\164\145\156\164\x2d\124\171\x70\145\72\x20\164\x65\x78\x74\57\160\x6c\x61\x69\156" . "\15\xa" . "\x43\x6f\x6e\164\145\x6e\164\55\124\x72\141\x6e\x73\146\145\162\55\105\156\x63\x6f\144\x69\x6e\147\x3a\40\x71\165\157\164\145\x64\55\x70\x72\151\x6e\x74\141\x62\154\145" . "\15\12", $message->toString()); } public function testMessageIdCanBeSet() { $message = $this->createMessage(); $message->setSubject("\152\x75\x73\x74\40\x61\x20\164\x65\163\x74\x20\163\165\x62\x6a\x65\143\164"); $message->setId("\x66\157\157\100\x62\141\162"); $date = $message->getDate(); $this->assertEquals("\115\x65\x73\x73\x61\x67\x65\x2d\111\104\x3a\x20\x3c\x66\x6f\157\x40\x62\x61\x72\x3e" . "\xd\12" . "\104\x61\x74\145\x3a\40" . $date->format("\x72") . "\15\12" . "\x53\165\142\152\x65\x63\x74\x3a\40\152\x75\x73\x74\40\141\x20\x74\145\163\164\x20\163\x75\x62\x6a\x65\143\164" . "\xd\12" . "\x46\x72\x6f\155\72\x20" . "\15\12" . "\115\x49\115\105\x2d\126\145\162\x73\151\x6f\156\x3a\40\x31\x2e\x30" . "\15\12" . "\x43\157\156\164\x65\156\x74\x2d\124\x79\x70\x65\72\x20\x74\145\x78\x74\57\x70\x6c\141\x69\156" . "\xd\12" . "\x43\x6f\156\164\x65\x6e\164\55\x54\162\x61\x6e\163\x66\x65\x72\55\x45\x6e\x63\x6f\x64\x69\156\147\x3a\40\161\165\157\164\145\x64\55\x70\162\151\x6e\164\x61\x62\x6c\145" . "\15\xa", $message->toString()); } public function testContentTypeCanBeChanged() { $message = $this->createMessage(); $message->setSubject("\152\x75\163\164\x20\x61\x20\x74\145\163\x74\x20\x73\x75\142\152\x65\143\x74"); $message->setContentType("\164\x65\170\164\57\150\x74\x6d\x6c"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\x4d\145\163\163\141\x67\x65\55\x49\x44\72\40\x3c" . $id . "\x3e" . "\15\xa" . "\104\x61\x74\145\72\x20" . $date->format("\x72") . "\15\12" . "\x53\x75\x62\152\145\143\164\x3a\x20\152\x75\163\x74\x20\x61\40\164\145\163\x74\40\x73\165\142\152\x65\x63\x74" . "\xd\xa" . "\106\162\x6f\155\72\40" . "\xd\12" . "\115\111\x4d\x45\55\126\x65\162\163\151\157\156\72\40\x31\x2e\60" . "\xd\12" . "\103\x6f\156\x74\145\156\164\x2d\124\x79\x70\x65\72\x20\x74\x65\x78\164\x2f\150\164\x6d\154" . "\15\12" . "\x43\157\x6e\x74\145\x6e\164\55\x54\x72\x61\x6e\x73\x66\x65\162\x2d\x45\156\x63\157\144\x69\156\x67\72\x20\x71\x75\157\x74\x65\x64\55\160\x72\x69\x6e\x74\x61\142\x6c\145" . "\15\xa", $message->toString()); } public function testCharsetCanBeSet() { $message = $this->createMessage(); $message->setSubject("\x6a\x75\x73\x74\x20\141\40\x74\x65\x73\164\40\163\x75\142\x6a\x65\x63\x74"); $message->setContentType("\x74\x65\170\x74\x2f\150\x74\x6d\x6c"); $message->setCharset("\151\x73\157\x2d\70\x38\x35\x39\55\x31"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\x4d\145\163\x73\141\x67\x65\x2d\x49\104\72\40\x3c" . $id . "\x3e" . "\15\12" . "\x44\141\164\145\72\40" . $date->format("\162") . "\15\12" . "\123\x75\x62\x6a\145\x63\164\72\x20\152\165\x73\164\40\x61\x20\164\x65\x73\164\40\163\x75\142\152\145\x63\164" . "\xd\xa" . "\x46\162\x6f\155\x3a\x20" . "\xd\12" . "\x4d\x49\115\x45\x2d\126\145\162\x73\151\157\x6e\72\40\x31\x2e\60" . "\15\xa" . "\x43\x6f\156\164\145\x6e\164\55\124\x79\x70\x65\72\x20\164\x65\x78\x74\57\150\x74\155\154\73\x20\143\x68\141\162\163\145\x74\75\151\x73\x6f\55\x38\x38\x35\x39\x2d\x31" . "\15\xa" . "\103\x6f\156\164\x65\156\x74\55\124\162\x61\156\163\146\145\x72\55\x45\156\x63\157\144\x69\x6e\x67\x3a\x20\x71\x75\x6f\x74\145\144\x2d\x70\x72\x69\156\x74\141\142\x6c\145" . "\xd\12", $message->toString()); } public function testFormatCanBeSet() { $message = $this->createMessage(); $message->setSubject("\x6a\165\163\x74\40\x61\x20\x74\x65\x73\x74\40\163\165\x62\152\145\143\164"); $message->setFormat("\x66\x6c\x6f\167\145\x64"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\x4d\145\x73\x73\x61\x67\x65\55\x49\104\72\x20\x3c" . $id . "\x3e" . "\xd\12" . "\104\141\164\145\x3a\40" . $date->format("\162") . "\15\12" . "\x53\165\x62\152\145\x63\164\72\40\x6a\165\x73\x74\x20\141\40\x74\145\163\164\40\x73\165\x62\152\145\143\164" . "\xd\xa" . "\x46\162\157\155\x3a\40" . "\15\12" . "\115\111\x4d\105\55\x56\145\162\x73\151\157\156\72\40\61\x2e\60" . "\xd\xa" . "\103\157\156\x74\145\x6e\x74\55\x54\x79\x70\145\72\40\164\145\x78\x74\x2f\160\154\141\x69\156\73\40\x66\x6f\x72\155\x61\x74\75\x66\154\x6f\167\145\144" . "\15\12" . "\103\x6f\x6e\164\x65\156\164\55\124\162\141\x6e\x73\146\x65\x72\x2d\x45\156\143\157\144\151\x6e\x67\72\x20\x71\165\x6f\164\145\x64\x2d\160\162\x69\x6e\164\x61\142\x6c\x65" . "\15\xa", $message->toString()); } public function testEncoderCanBeSet() { $message = $this->createMessage(); $message->setSubject("\x6a\165\163\164\40\141\x20\x74\145\163\164\40\x73\x75\x62\152\145\143\164"); $message->setContentType("\x74\145\x78\x74\x2f\150\x74\155\x6c"); $message->setEncoder(new Swift_Mime_ContentEncoder_PlainContentEncoder("\x37\x62\151\164")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\x4d\x65\163\x73\x61\x67\145\x2d\111\104\x3a\40\x3c" . $id . "\x3e" . "\15\xa" . "\104\141\164\145\72\40" . $date->format("\162") . "\15\xa" . "\x53\x75\x62\152\x65\x63\x74\72\40\152\165\x73\164\40\x61\x20\164\145\163\164\40\x73\x75\x62\x6a\x65\143\x74" . "\xd\xa" . "\106\x72\x6f\x6d\72\40" . "\xd\12" . "\x4d\111\115\105\x2d\126\x65\162\163\151\x6f\x6e\72\x20\x31\x2e\60" . "\15\12" . "\103\157\156\x74\x65\156\x74\55\x54\x79\x70\x65\x3a\x20\x74\x65\170\164\57\x68\x74\155\154" . "\15\xa" . "\103\x6f\156\x74\145\x6e\x74\x2d\x54\162\x61\x6e\163\146\x65\x72\x2d\x45\156\143\x6f\144\x69\x6e\147\72\x20\67\142\x69\164" . "\xd\12", $message->toString()); } public function testFromAddressCanBeSet() { $message = $this->createMessage(); $message->setSubject("\x6a\x75\163\x74\x20\x61\40\164\145\x73\164\x20\x73\165\x62\x6a\145\143\164"); $message->setFrom("\143\x68\x72\x69\x73\x2e\143\x6f\162\142\x79\x6e\100\163\167\x69\x66\164\155\141\151\154\145\x72\x2e\x6f\x72\147"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\115\x65\x73\x73\x61\147\145\x2d\111\104\72\40\x3c" . $id . "\x3e" . "\xd\xa" . "\104\x61\164\x65\x3a\x20" . $date->format("\x72") . "\15\xa" . "\x53\x75\142\x6a\x65\143\164\72\40\152\x75\163\164\40\141\40\164\145\x73\164\40\x73\x75\142\x6a\145\143\164" . "\xd\xa" . "\x46\x72\157\x6d\x3a\x20\x63\x68\162\x69\x73\56\143\x6f\x72\142\171\156\x40\x73\x77\151\x66\164\x6d\141\151\154\145\162\x2e\157\x72\x67" . "\15\xa" . "\x4d\111\x4d\105\55\x56\x65\162\163\151\157\156\x3a\40\x31\56\60" . "\xd\12" . "\x43\157\x6e\164\x65\156\164\x2d\124\171\160\145\72\40\164\145\170\x74\x2f\160\154\141\151\x6e" . "\15\12" . "\x43\157\x6e\x74\x65\x6e\164\x2d\124\x72\141\156\x73\x66\145\162\x2d\x45\156\x63\x6f\x64\x69\156\147\72\x20\x71\165\157\164\145\144\x2d\x70\x72\x69\156\x74\141\142\154\145" . "\15\xa", $message->toString()); } public function testFromAddressCanBeSetWithName() { $message = $this->createMessage(); $message->setSubject("\x6a\x75\163\164\x20\x61\40\x74\x65\163\x74\x20\163\x75\x62\x6a\x65\x63\x74"); $message->setFrom(array("\x63\x68\x72\151\163\x2e\143\x6f\162\x62\171\156\100\x73\x77\151\146\164\x6d\141\151\154\145\x72\x2e\x6f\162\147" => "\x43\x68\162\151\x73\x20\103\157\162\x62\x79\156")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\x4d\x65\163\163\141\147\145\55\111\x44\72\40\74" . $id . "\76" . "\xd\12" . "\104\x61\164\145\x3a\40" . $date->format("\x72") . "\xd\12" . "\x53\165\142\152\x65\143\x74\72\40\152\165\x73\x74\40\141\x20\164\145\163\164\40\163\165\142\152\145\x63\x74" . "\15\xa" . "\x46\162\157\155\x3a\40\103\150\162\151\163\x20\x43\x6f\162\x62\x79\156\x20\x3c\x63\150\162\x69\163\x2e\143\x6f\x72\x62\x79\156\x40\x73\167\x69\146\x74\155\x61\151\x6c\145\162\x2e\x6f\162\147\x3e" . "\15\12" . "\x4d\111\115\x45\55\x56\x65\x72\163\151\157\x6e\x3a\40\x31\x2e\x30" . "\15\xa" . "\x43\x6f\x6e\164\x65\x6e\164\x2d\124\x79\160\145\72\x20\x74\145\x78\164\57\160\x6c\x61\x69\x6e" . "\xd\xa" . "\103\x6f\x6e\164\145\156\164\x2d\124\x72\x61\x6e\x73\146\145\x72\x2d\x45\x6e\x63\x6f\x64\151\156\x67\72\x20\161\165\157\164\x65\x64\55\x70\x72\x69\x6e\x74\141\142\154\145" . "\xd\12", $message->toString()); } public function testMultipleFromAddressesCanBeSet() { $message = $this->createMessage(); $message->setSubject("\152\165\x73\164\40\x61\40\164\x65\163\164\40\x73\x75\142\152\x65\143\x74"); $message->setFrom(array("\143\x68\162\151\x73\x2e\143\x6f\162\142\171\x6e\x40\163\167\151\146\164\x6d\x61\x69\x6c\x65\x72\56\157\x72\x67" => "\103\150\x72\151\x73\40\x43\157\162\142\x79\156", "\x6d\x61\x72\x6b\x40\x73\x77\151\x66\164\x6d\x61\151\154\x65\x72\x2e\157\x72\x67")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\x4d\145\163\163\141\x67\145\x2d\111\x44\x3a\40\74" . $id . "\76" . "\xd\12" . "\104\141\x74\x65\72\40" . $date->format("\x72") . "\xd\xa" . "\123\x75\x62\x6a\x65\143\x74\x3a\40\152\165\x73\164\40\x61\x20\x74\145\163\164\40\163\x75\x62\152\x65\x63\x74" . "\15\xa" . "\106\162\157\x6d\x3a\40\103\x68\162\x69\163\40\x43\x6f\x72\142\171\156\40\x3c\x63\x68\162\151\163\56\x63\x6f\x72\142\x79\x6e\100\163\167\151\x66\164\155\141\x69\x6c\145\162\x2e\157\162\x67\x3e\54\40\x6d\x61\x72\153\x40\x73\x77\151\x66\164\155\x61\151\154\x65\162\x2e\x6f\x72\x67" . "\xd\12" . "\115\111\x4d\x45\55\126\145\162\163\151\157\156\x3a\40\61\56\x30" . "\xd\xa" . "\x43\157\156\x74\x65\156\164\55\124\x79\x70\x65\x3a\x20\164\145\x78\164\x2f\160\154\x61\x69\x6e" . "\xd\xa" . "\103\157\x6e\164\x65\156\x74\55\124\162\141\156\163\146\145\x72\x2d\x45\x6e\143\157\x64\151\156\x67\x3a\40\161\x75\157\x74\x65\x64\x2d\160\x72\x69\x6e\x74\x61\x62\154\145" . "\xd\xa", $message->toString()); } public function testReturnPathAddressCanBeSet() { $message = $this->createMessage(); $message->setReturnPath("\143\x68\x72\x69\x73\x40\167\63\163\164\171\154\145\x2e\143\157\x2e\x75\153"); $message->setSubject("\x6a\165\x73\x74\40\141\40\164\x65\x73\x74\x20\x73\x75\142\152\x65\x63\x74"); $message->setFrom(array("\x63\x68\162\151\163\56\x63\157\162\x62\x79\x6e\x40\x73\167\151\146\x74\x6d\x61\151\154\145\x72\x2e\x6f\162\x67" => "\103\150\162\151\163\40\103\157\162\x62\x79\x6e")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\122\x65\164\165\162\x6e\x2d\x50\141\164\x68\x3a\40\x3c\x63\150\162\151\163\x40\167\x33\163\x74\x79\x6c\145\56\x63\157\x2e\x75\153\76" . "\xd\12" . "\115\x65\163\163\141\147\145\55\x49\104\72\40\x3c" . $id . "\76" . "\xd\12" . "\x44\141\164\x65\x3a\x20" . $date->format("\x72") . "\xd\xa" . "\123\165\142\152\145\x63\164\72\40\x6a\x75\163\164\40\x61\40\164\145\163\164\40\x73\x75\142\152\145\143\x74" . "\15\xa" . "\x46\162\x6f\x6d\x3a\40\x43\150\x72\x69\163\x20\x43\157\x72\142\171\156\x20\x3c\143\150\x72\x69\163\x2e\143\x6f\x72\x62\x79\x6e\x40\163\167\151\x66\164\x6d\141\x69\154\145\x72\x2e\157\162\147\x3e" . "\15\xa" . "\115\111\115\x45\x2d\126\x65\x72\x73\151\157\x6e\x3a\40\61\x2e\60" . "\15\12" . "\x43\157\x6e\164\x65\x6e\x74\x2d\x54\171\160\x65\72\x20\x74\x65\x78\x74\57\x70\x6c\141\x69\156" . "\15\12" . "\103\x6f\x6e\164\145\156\164\55\124\x72\141\x6e\x73\x66\145\162\x2d\x45\156\143\x6f\x64\151\156\x67\x3a\40\x71\x75\157\x74\x65\144\x2d\160\162\x69\x6e\164\141\142\154\145" . "\15\12", $message->toString()); } public function testEmptyReturnPathHeaderCanBeUsed() { $message = $this->createMessage(); $message->setReturnPath(''); $message->setSubject("\x6a\x75\163\x74\40\141\x20\164\x65\x73\164\x20\x73\x75\142\x6a\x65\143\164"); $message->setFrom(array("\x63\150\x72\151\163\56\x63\x6f\162\142\171\x6e\x40\x73\167\x69\146\x74\155\x61\x69\x6c\x65\x72\x2e\x6f\162\x67" => "\x43\150\x72\151\x73\40\103\x6f\x72\142\171\156")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\122\x65\164\x75\162\156\x2d\120\x61\x74\150\72\40\x3c\76" . "\xd\xa" . "\x4d\x65\163\163\x61\147\x65\x2d\111\104\72\40\x3c" . $id . "\x3e" . "\15\12" . "\104\x61\164\x65\x3a\x20" . $date->format("\x72") . "\xd\12" . "\x53\x75\x62\152\145\143\x74\72\x20\x6a\x75\163\164\40\141\40\164\x65\x73\164\x20\163\165\x62\152\x65\x63\x74" . "\15\12" . "\106\162\x6f\155\x3a\40\103\x68\162\x69\x73\x20\103\157\x72\x62\x79\156\x20\x3c\x63\x68\162\x69\x73\x2e\143\x6f\162\142\x79\x6e\100\x73\x77\151\x66\x74\155\x61\151\x6c\x65\162\x2e\157\162\147\76" . "\15\xa" . "\115\111\x4d\x45\55\126\145\162\163\x69\157\156\72\x20\61\x2e\60" . "\xd\xa" . "\x43\x6f\156\x74\145\156\x74\55\x54\x79\160\145\72\x20\x74\145\x78\164\x2f\x70\154\141\x69\156" . "\xd\12" . "\x43\x6f\156\x74\x65\x6e\164\x2d\x54\x72\141\x6e\x73\146\145\162\x2d\105\156\x63\x6f\x64\151\x6e\147\72\x20\x71\165\x6f\164\145\x64\55\x70\x72\x69\x6e\x74\141\142\154\x65" . "\15\xa", $message->toString()); } public function testSenderCanBeSet() { $message = $this->createMessage(); $message->setSubject("\152\x75\x73\x74\40\x61\40\164\x65\x73\x74\x20\163\x75\142\152\145\143\x74"); $message->setSender("\143\x68\x72\x69\163\56\143\157\x72\142\171\156\x40\163\167\151\x66\164\x6d\141\x69\154\x65\x72\x2e\x6f\162\147"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\123\145\156\x64\x65\x72\72\40\143\150\162\x69\x73\56\x63\157\x72\142\x79\x6e\100\x73\x77\x69\146\164\x6d\141\x69\x6c\145\x72\x2e\x6f\x72\147" . "\xd\12" . "\x4d\145\x73\163\141\x67\145\55\x49\x44\x3a\x20\74" . $id . "\x3e" . "\15\12" . "\x44\141\x74\145\72\40" . $date->format("\x72") . "\xd\12" . "\123\165\x62\x6a\145\143\x74\72\x20\152\x75\x73\x74\40\x61\x20\x74\145\163\164\x20\163\x75\142\152\145\x63\x74" . "\15\12" . "\x46\x72\157\155\x3a\40" . "\xd\12" . "\x4d\111\115\x45\55\x56\x65\162\163\151\x6f\x6e\x3a\x20\x31\x2e\x30" . "\15\12" . "\x43\x6f\156\164\145\156\x74\55\124\171\x70\145\x3a\40\x74\x65\170\x74\57\x70\x6c\x61\x69\x6e" . "\15\xa" . "\103\x6f\x6e\164\x65\156\164\55\124\x72\x61\156\x73\146\145\162\55\105\156\143\x6f\x64\x69\156\147\x3a\40\x71\165\157\x74\x65\144\55\x70\162\x69\156\164\x61\142\154\145" . "\xd\xa", $message->toString()); } public function testSenderCanBeSetWithName() { $message = $this->createMessage(); $message->setSubject("\152\x75\x73\164\40\141\x20\164\x65\x73\164\40\x73\x75\x62\x6a\145\143\164"); $message->setSender(array("\143\x68\x72\x69\163\x2e\x63\x6f\x72\142\171\x6e\100\x73\167\151\x66\x74\x6d\141\x69\x6c\145\x72\x2e\157\162\147" => "\103\x68\x72\x69\163")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\123\x65\x6e\x64\x65\x72\72\x20\x43\x68\162\x69\163\40\74\x63\150\x72\x69\163\56\x63\157\x72\x62\x79\x6e\x40\x73\x77\x69\146\x74\155\x61\151\154\145\162\56\x6f\162\147\x3e" . "\xd\xa" . "\115\x65\163\x73\x61\147\x65\55\x49\x44\x3a\40\74" . $id . "\76" . "\xd\12" . "\x44\141\x74\145\72\40" . $date->format("\162") . "\15\12" . "\123\165\x62\x6a\145\x63\164\x3a\x20\152\x75\163\x74\x20\141\x20\164\x65\163\164\40\x73\165\x62\152\x65\x63\x74" . "\15\12" . "\106\162\x6f\155\72\x20" . "\15\xa" . "\115\111\x4d\x45\x2d\x56\145\x72\163\151\157\156\72\x20\61\56\60" . "\xd\12" . "\x43\157\156\x74\145\x6e\164\55\x54\171\160\145\x3a\40\x74\145\170\164\57\x70\x6c\141\x69\x6e" . "\xd\12" . "\x43\x6f\x6e\164\x65\156\164\x2d\124\x72\x61\x6e\163\146\x65\x72\x2d\105\156\x63\157\x64\151\x6e\147\72\40\161\x75\157\x74\145\x64\55\160\162\151\x6e\164\141\x62\x6c\145" . "\15\12", $message->toString()); } public function testReplyToCanBeSet() { $message = $this->createMessage(); $message->setSubject("\152\x75\x73\x74\x20\141\40\164\145\x73\164\40\163\165\x62\x6a\x65\143\164"); $message->setFrom(array("\143\150\162\x69\x73\x2e\x63\x6f\x72\142\171\x6e\100\x73\x77\x69\x66\164\155\x61\x69\x6c\x65\x72\56\157\162\147" => "\x43\x68\x72\151\x73")); $message->setReplyTo(array("\x63\150\x72\151\163\100\167\x33\163\x74\171\x6c\145\56\143\x6f\56\165\153" => "\x4d\171\x73\145\154\x66")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\115\x65\163\163\x61\x67\145\x2d\111\x44\x3a\x20\x3c" . $id . "\76" . "\15\xa" . "\x44\x61\x74\x65\x3a\x20" . $date->format("\x72") . "\xd\xa" . "\x53\165\142\x6a\x65\x63\x74\72\40\152\x75\163\164\40\x61\40\x74\145\163\x74\x20\x73\165\142\152\x65\143\164" . "\xd\xa" . "\106\x72\157\x6d\x3a\x20\103\150\x72\x69\x73\40\x3c\x63\150\x72\151\163\56\143\x6f\x72\x62\171\156\100\x73\x77\x69\x66\164\155\x61\x69\x6c\x65\x72\x2e\x6f\162\x67\76" . "\15\xa" . "\x52\x65\160\x6c\171\55\124\x6f\72\x20\x4d\x79\x73\x65\x6c\146\x20\x3c\x63\150\x72\x69\x73\100\x77\63\x73\x74\171\x6c\145\56\143\x6f\x2e\x75\x6b\x3e" . "\15\xa" . "\115\x49\x4d\x45\x2d\x56\x65\162\163\151\x6f\x6e\x3a\x20\61\56\x30" . "\xd\12" . "\103\157\x6e\x74\145\156\x74\55\x54\171\160\x65\72\x20\164\x65\x78\164\57\x70\x6c\141\151\156" . "\xd\12" . "\103\x6f\x6e\164\145\156\164\x2d\124\162\141\x6e\x73\x66\x65\x72\55\x45\156\x63\x6f\x64\x69\x6e\x67\72\x20\161\165\157\164\145\x64\x2d\x70\x72\151\x6e\x74\x61\x62\x6c\x65" . "\xd\xa", $message->toString()); } public function testMultipleReplyAddressCanBeUsed() { $message = $this->createMessage(); $message->setSubject("\x6a\165\163\164\x20\141\40\x74\x65\x73\x74\x20\163\x75\x62\x6a\145\x63\x74"); $message->setFrom(array("\143\x68\162\151\163\x2e\x63\x6f\162\x62\x79\x6e\x40\163\x77\x69\146\164\155\x61\151\154\x65\x72\56\157\162\147" => "\x43\150\x72\151\x73")); $message->setReplyTo(array("\143\150\x72\x69\163\x40\x77\x33\163\x74\171\154\145\x2e\143\x6f\56\x75\153" => "\x4d\x79\163\145\154\146", "\x6d\171\x2e\x6f\x74\x68\145\162\100\x61\x64\x64\162\x65\x73\x73\x2e\143\157\155" => "\115\x65")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\x4d\145\x73\163\x61\x67\145\x2d\111\x44\x3a\40\x3c" . $id . "\76" . "\xd\xa" . "\104\141\x74\x65\72\40" . $date->format("\x72") . "\xd\xa" . "\x53\165\142\152\x65\143\x74\x3a\40\x6a\165\163\164\40\x61\x20\x74\x65\163\164\40\163\165\142\x6a\145\x63\x74" . "\xd\12" . "\106\162\157\155\72\x20\103\150\162\151\163\x20\74\143\150\162\151\x73\x2e\x63\157\x72\x62\171\x6e\100\163\167\151\146\164\155\x61\151\x6c\x65\x72\x2e\157\162\147\76" . "\15\xa" . "\122\x65\160\x6c\x79\x2d\124\x6f\x3a\40\x4d\171\163\145\x6c\146\x20\74\x63\150\162\x69\x73\100\167\63\x73\164\171\x6c\145\x2e\x63\x6f\56\x75\153\x3e\54\40\x4d\x65\x20\74\155\x79\x2e\x6f\164\150\x65\162\x40\141\x64\x64\162\x65\163\163\x2e\143\157\155\x3e" . "\15\12" . "\115\111\x4d\x45\x2d\126\145\x72\163\151\157\156\x3a\x20\x31\x2e\60" . "\xd\xa" . "\103\x6f\156\x74\x65\x6e\x74\x2d\124\x79\160\145\72\x20\x74\145\x78\x74\x2f\160\154\x61\151\156" . "\xd\xa" . "\x43\x6f\156\x74\145\156\x74\55\x54\162\x61\156\x73\x66\x65\162\x2d\x45\x6e\x63\157\x64\x69\x6e\147\72\x20\x71\x75\157\x74\145\144\x2d\x70\162\151\156\164\x61\x62\x6c\145" . "\xd\xa", $message->toString()); } public function testToAddressCanBeSet() { $message = $this->createMessage(); $message->setSubject("\152\165\x73\164\x20\141\x20\164\145\x73\x74\40\163\165\142\x6a\145\x63\x74"); $message->setFrom(array("\143\x68\x72\151\163\x2e\x63\x6f\x72\x62\x79\156\100\x73\167\x69\x66\164\x6d\x61\151\154\x65\162\x2e\157\x72\147" => "\103\150\x72\x69\163")); $message->setReplyTo(array("\x63\x68\162\151\x73\x40\x77\x33\x73\164\171\x6c\145\56\143\x6f\x2e\x75\x6b" => "\x4d\x79\163\x65\x6c\x66", "\x6d\x79\56\157\x74\150\x65\x72\x40\141\x64\144\162\145\163\x73\56\143\157\x6d" => "\x4d\x65")); $message->setTo("\x6d\x61\x72\x6b\100\163\x77\151\146\x74\155\x61\151\x6c\145\x72\56\x6f\162\147"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\x4d\145\x73\x73\x61\147\145\x2d\x49\x44\x3a\40\x3c" . $id . "\76" . "\xd\12" . "\104\x61\x74\x65\x3a\40" . $date->format("\162") . "\15\12" . "\x53\x75\142\152\x65\143\164\72\40\152\165\163\x74\40\141\40\164\145\x73\164\x20\163\165\142\152\145\143\x74" . "\xd\12" . "\106\162\157\155\x3a\40\103\150\x72\x69\x73\x20\x3c\x63\x68\162\x69\163\x2e\x63\x6f\162\142\x79\156\x40\163\x77\151\x66\164\x6d\x61\x69\154\145\162\56\x6f\x72\147\x3e" . "\xd\xa" . "\122\x65\x70\x6c\x79\x2d\124\157\x3a\x20\115\171\x73\x65\154\146\40\x3c\143\150\162\151\x73\x40\167\63\163\x74\171\154\145\x2e\143\157\56\165\153\x3e\x2c\40\x4d\x65\40\74\155\x79\56\x6f\x74\150\145\x72\100\141\x64\144\162\145\x73\163\x2e\143\157\x6d\76" . "\15\xa" . "\x54\157\72\40\x6d\x61\x72\153\x40\163\x77\151\x66\x74\x6d\x61\151\x6c\x65\162\56\x6f\x72\x67" . "\15\xa" . "\115\x49\x4d\105\x2d\x56\x65\162\163\151\x6f\x6e\72\x20\x31\56\60" . "\15\12" . "\x43\157\156\164\145\x6e\x74\55\x54\x79\x70\x65\x3a\x20\x74\145\x78\164\57\x70\x6c\x61\151\x6e" . "\xd\xa" . "\103\x6f\156\x74\x65\x6e\x74\55\124\x72\x61\x6e\x73\x66\x65\x72\55\105\x6e\x63\x6f\144\151\x6e\147\x3a\x20\161\165\x6f\164\145\144\55\160\162\x69\156\164\x61\142\154\x65" . "\15\xa", $message->toString()); } public function testMultipleToAddressesCanBeSet() { $message = $this->createMessage(); $message->setSubject("\x6a\165\163\164\40\141\x20\x74\145\x73\164\40\x73\165\x62\152\145\143\x74"); $message->setFrom(array("\x63\x68\162\x69\163\x2e\x63\157\x72\142\171\x6e\100\163\167\x69\x66\x74\155\x61\151\x6c\145\162\x2e\157\162\147" => "\103\150\162\x69\x73")); $message->setReplyTo(array("\x63\x68\162\x69\163\x40\167\63\163\164\171\154\145\x2e\143\x6f\x2e\x75\x6b" => "\x4d\171\163\145\x6c\146", "\155\x79\x2e\x6f\164\x68\145\x72\x40\x61\x64\x64\162\145\x73\163\x2e\143\157\x6d" => "\115\145")); $message->setTo(array("\x6d\x61\x72\x6b\x40\x73\x77\151\x66\x74\x6d\141\151\154\x65\x72\x2e\x6f\162\147", "\x63\x68\x72\x69\163\100\163\167\151\x66\x74\155\x61\x69\x6c\x65\x72\x2e\157\x72\x67" => "\103\x68\x72\151\163\40\x43\x6f\162\142\x79\156")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\x4d\145\x73\x73\141\147\145\x2d\111\104\72\40\x3c" . $id . "\76" . "\xd\12" . "\104\x61\164\x65\72\x20" . $date->format("\x72") . "\15\xa" . "\123\165\x62\x6a\145\143\164\x3a\x20\152\165\163\x74\x20\141\x20\x74\145\x73\x74\x20\163\x75\x62\152\x65\143\x74" . "\xd\12" . "\106\162\157\155\x3a\40\x43\x68\x72\151\163\x20\74\x63\x68\x72\x69\163\x2e\143\157\162\142\171\x6e\x40\x73\x77\x69\x66\x74\155\141\151\x6c\x65\x72\x2e\157\162\x67\x3e" . "\xd\12" . "\122\x65\x70\x6c\171\x2d\x54\157\x3a\x20\x4d\171\163\x65\x6c\146\40\74\x63\150\162\x69\163\x40\x77\63\163\164\171\154\x65\56\x63\x6f\x2e\165\x6b\x3e\x2c\x20\115\145\x20\74\155\x79\56\157\x74\150\x65\x72\x40\141\144\144\162\145\x73\163\x2e\143\x6f\155\76" . "\15\12" . "\124\157\72\40\155\x61\x72\153\x40\x73\167\151\x66\164\155\x61\151\154\145\x72\x2e\157\162\147\x2c\x20\103\x68\162\151\x73\x20\x43\157\x72\x62\171\156\40\74\143\150\x72\151\x73\x40\x73\167\151\146\164\155\141\x69\154\145\x72\x2e\157\x72\147\76" . "\xd\xa" . "\115\x49\x4d\105\55\x56\x65\x72\x73\x69\157\156\x3a\40\61\56\x30" . "\xd\xa" . "\x43\x6f\x6e\x74\145\156\164\x2d\x54\x79\x70\x65\x3a\x20\x74\145\x78\164\x2f\x70\154\141\151\x6e" . "\15\12" . "\x43\x6f\156\164\x65\156\x74\x2d\x54\x72\x61\x6e\163\x66\x65\162\x2d\x45\156\143\x6f\x64\151\156\x67\72\40\x71\x75\157\x74\145\x64\55\160\162\151\156\164\141\142\x6c\145" . "\xd\12", $message->toString()); } public function testCcAddressCanBeSet() { $message = $this->createMessage(); $message->setSubject("\152\165\163\x74\40\141\40\x74\145\163\x74\x20\163\165\x62\x6a\x65\143\164"); $message->setFrom(array("\143\x68\x72\151\163\56\x63\157\x72\x62\171\156\x40\x73\x77\151\x66\164\x6d\x61\151\154\x65\x72\56\157\x72\147" => "\103\150\x72\x69\x73")); $message->setReplyTo(array("\x63\150\162\151\163\100\x77\x33\x73\x74\x79\154\x65\x2e\143\157\x2e\x75\153" => "\115\x79\x73\x65\x6c\x66", "\x6d\171\56\157\164\x68\145\x72\x40\141\144\144\x72\145\x73\163\x2e\x63\157\x6d" => "\115\x65")); $message->setTo(array("\155\x61\162\x6b\x40\163\167\x69\146\x74\155\x61\151\154\145\x72\x2e\157\x72\x67", "\x63\150\162\x69\163\x40\163\x77\151\x66\x74\x6d\x61\151\x6c\145\162\56\x6f\162\x67" => "\103\150\162\151\x73\40\103\x6f\162\x62\x79\156")); $message->setCc("\x6a\157\150\x6e\100\163\x6f\155\145\x2d\x73\x69\x74\x65\x2e\x63\157\155"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\115\145\163\163\141\147\x65\55\x49\x44\72\40\x3c" . $id . "\76" . "\15\xa" . "\x44\x61\x74\145\72\x20" . $date->format("\162") . "\xd\xa" . "\123\x75\142\x6a\145\143\x74\72\x20\152\x75\163\164\40\141\40\164\x65\x73\164\40\x73\x75\142\x6a\x65\143\x74" . "\xd\12" . "\x46\162\157\155\72\x20\x43\150\162\151\163\40\74\143\x68\162\x69\163\x2e\x63\157\x72\142\x79\x6e\x40\163\167\151\146\x74\x6d\x61\x69\154\145\x72\x2e\157\x72\147\x3e" . "\15\12" . "\122\145\x70\154\171\55\x54\157\x3a\x20\115\x79\163\145\154\146\x20\74\143\x68\x72\151\163\x40\x77\x33\163\164\x79\154\145\x2e\x63\x6f\x2e\165\153\76\54\40\115\145\40\74\155\171\56\157\x74\x68\145\162\x40\141\144\144\162\x65\x73\163\56\143\x6f\155\76" . "\15\xa" . "\x54\x6f\72\x20\155\x61\x72\153\x40\x73\167\x69\146\164\155\141\151\154\145\x72\x2e\157\x72\147\54\40\103\150\162\151\x73\40\103\x6f\162\x62\x79\156\x20\74\x63\150\162\x69\163\100\163\167\x69\x66\x74\x6d\x61\151\x6c\145\x72\56\157\x72\147\76" . "\15\12" . "\103\143\72\x20\152\157\x68\x6e\100\163\157\x6d\x65\55\163\151\164\x65\x2e\143\157\155" . "\xd\xa" . "\115\x49\x4d\x45\x2d\x56\145\x72\163\x69\x6f\156\x3a\40\61\56\x30" . "\15\12" . "\x43\157\156\164\145\156\x74\55\124\171\x70\145\x3a\x20\164\x65\x78\x74\57\160\x6c\141\151\x6e" . "\15\12" . "\103\x6f\x6e\164\145\156\x74\x2d\124\x72\x61\x6e\x73\146\x65\162\x2d\x45\156\x63\x6f\x64\151\156\x67\x3a\40\x71\165\x6f\164\145\144\55\160\x72\151\156\x74\x61\x62\154\145" . "\xd\12", $message->toString()); } public function testMultipleCcAddressesCanBeSet() { $message = $this->createMessage(); $message->setSubject("\x6a\x75\163\164\40\141\40\x74\x65\163\x74\x20\163\165\142\x6a\x65\x63\x74"); $message->setFrom(array("\143\x68\x72\x69\x73\56\143\157\x72\142\171\x6e\x40\x73\167\x69\x66\164\x6d\x61\x69\154\145\x72\56\x6f\162\147" => "\x43\x68\162\x69\x73")); $message->setReplyTo(array("\x63\x68\x72\151\x73\100\x77\x33\x73\164\x79\x6c\145\x2e\x63\157\56\x75\x6b" => "\x4d\171\163\x65\x6c\x66", "\x6d\171\x2e\157\x74\150\145\162\100\141\144\x64\162\145\163\x73\56\143\157\155" => "\x4d\145")); $message->setTo(array("\155\141\x72\x6b\100\163\x77\151\146\164\155\x61\x69\154\x65\x72\x2e\x6f\162\x67", "\143\150\162\151\163\x40\163\x77\x69\x66\x74\155\x61\151\154\x65\x72\x2e\x6f\162\x67" => "\x43\150\162\151\163\40\103\157\x72\142\x79\156")); $message->setCc(array("\152\157\x68\x6e\100\163\x6f\155\x65\55\163\151\x74\x65\56\143\x6f\x6d" => "\112\x6f\x68\156\x20\x57\145\x73\x74", "\x66\162\x65\x64\x40\141\156\157\x74\x68\x65\162\55\x73\151\164\145\56\x63\x6f\56\165\x6b" => "\x42\151\147\40\x46\x72\x65\x64")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\x4d\145\163\163\141\x67\145\55\x49\x44\72\40\74" . $id . "\x3e" . "\xd\12" . "\x44\x61\x74\x65\72\x20" . $date->format("\x72") . "\15\12" . "\x53\x75\x62\152\x65\x63\x74\72\40\152\x75\163\164\x20\x61\x20\164\x65\163\x74\40\x73\x75\x62\x6a\x65\143\164" . "\15\xa" . "\x46\162\x6f\155\x3a\x20\103\150\162\x69\x73\40\x3c\143\150\162\151\163\x2e\x63\157\x72\x62\171\x6e\x40\x73\x77\151\x66\x74\155\141\151\x6c\145\x72\56\157\162\x67\76" . "\15\xa" . "\x52\x65\x70\x6c\x79\x2d\x54\x6f\72\x20\115\x79\x73\x65\154\x66\40\x3c\143\x68\162\151\163\x40\x77\63\x73\x74\x79\x6c\x65\x2e\143\x6f\x2e\x75\153\x3e\54\40\x4d\x65\40\x3c\x6d\x79\x2e\157\x74\x68\145\x72\x40\141\144\144\162\145\163\x73\56\x63\157\155\x3e" . "\xd\xa" . "\x54\x6f\72\x20\155\x61\162\153\x40\163\167\151\146\x74\155\141\x69\x6c\x65\x72\x2e\157\x72\x67\x2c\40\x43\150\162\x69\163\x20\103\157\x72\142\171\x6e\40\x3c\143\150\x72\151\x73\x40\163\167\151\146\x74\155\x61\x69\154\145\162\56\x6f\x72\x67\76" . "\15\xa" . "\x43\x63\x3a\40\x4a\x6f\150\156\x20\127\145\163\x74\40\x3c\152\157\x68\x6e\x40\163\x6f\x6d\x65\55\x73\151\x74\x65\x2e\x63\157\155\x3e\x2c\x20\x42\151\147\40\106\x72\145\x64\x20\x3c\x66\x72\145\x64\100\x61\156\157\x74\150\145\x72\55\163\x69\164\145\x2e\143\157\x2e\165\153\76" . "\15\xa" . "\x4d\x49\x4d\x45\55\x56\145\x72\x73\151\x6f\x6e\x3a\40\61\x2e\60" . "\xd\12" . "\x43\x6f\x6e\164\x65\x6e\164\55\124\171\160\145\x3a\40\x74\x65\170\x74\57\x70\x6c\x61\x69\x6e" . "\xd\12" . "\x43\157\156\164\x65\156\164\x2d\124\162\x61\156\163\146\145\162\x2d\x45\156\x63\x6f\144\151\156\147\72\40\x71\x75\x6f\164\145\144\55\x70\x72\x69\x6e\164\x61\x62\x6c\x65" . "\15\12", $message->toString()); } public function testBccAddressCanBeSet() { $message = $this->createMessage(); $message->setSubject("\152\165\163\164\x20\141\40\164\x65\x73\x74\40\x73\165\x62\152\145\143\164"); $message->setFrom(array("\x63\x68\162\x69\x73\x2e\x63\157\162\142\171\x6e\100\163\x77\x69\146\x74\155\x61\151\154\x65\x72\x2e\157\162\x67" => "\103\x68\x72\x69\163")); $message->setReplyTo(array("\143\x68\x72\151\163\x40\167\x33\x73\164\171\154\x65\x2e\143\157\56\165\x6b" => "\x4d\x79\163\x65\x6c\x66", "\155\x79\56\157\x74\150\145\x72\x40\x61\x64\144\x72\145\163\x73\x2e\143\x6f\155" => "\115\145")); $message->setTo(array("\x6d\x61\x72\x6b\100\x73\167\x69\146\x74\x6d\x61\x69\x6c\145\x72\56\x6f\162\147", "\143\x68\x72\x69\x73\100\163\x77\151\146\164\155\x61\x69\x6c\x65\162\x2e\x6f\x72\147" => "\x43\x68\x72\151\x73\x20\x43\x6f\x72\x62\171\156")); $message->setCc(array("\152\x6f\150\156\100\163\157\x6d\145\x2d\x73\x69\x74\x65\x2e\x63\157\x6d" => "\x4a\x6f\150\156\40\x57\x65\x73\164", "\x66\x72\145\144\100\x61\x6e\157\x74\x68\145\162\55\163\151\164\x65\x2e\x63\157\56\165\153" => "\102\151\147\x20\x46\x72\145\x64")); $message->setBcc("\170\100\x61\154\x70\x68\141\x62\x65\164\56\164\154\x64"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\x4d\x65\x73\163\x61\147\145\x2d\111\x44\72\40\x3c" . $id . "\x3e" . "\xd\12" . "\x44\x61\164\x65\x3a\40" . $date->format("\x72") . "\xd\xa" . "\x53\x75\x62\152\145\x63\x74\x3a\40\x6a\165\x73\x74\x20\x61\x20\x74\x65\x73\x74\40\x73\165\x62\152\x65\143\164" . "\15\12" . "\106\162\157\x6d\72\x20\103\x68\162\151\x73\40\74\143\150\162\x69\x73\56\x63\x6f\162\x62\x79\156\100\x73\x77\x69\146\164\x6d\141\151\x6c\145\162\56\x6f\x72\x67\76" . "\15\xa" . "\x52\x65\x70\x6c\x79\55\x54\x6f\72\x20\115\171\x73\x65\x6c\146\40\x3c\143\150\162\151\163\100\167\63\163\x74\171\154\x65\56\143\x6f\56\165\153\x3e\54\40\115\145\40\74\155\171\x2e\157\164\x68\145\162\x40\x61\x64\144\x72\145\163\163\x2e\143\157\155\76" . "\15\xa" . "\x54\x6f\x3a\40\x6d\141\x72\x6b\x40\x73\167\151\146\164\155\x61\x69\154\145\162\x2e\x6f\162\x67\x2c\x20\x43\150\x72\x69\163\40\103\x6f\x72\142\x79\156\x20\x3c\143\150\162\151\163\100\163\x77\x69\x66\164\x6d\141\151\x6c\145\x72\x2e\x6f\162\x67\76" . "\15\xa" . "\103\x63\x3a\x20\112\157\x68\x6e\x20\127\x65\x73\164\40\x3c\x6a\157\x68\156\100\x73\x6f\155\145\x2d\x73\151\164\x65\56\143\157\155\x3e\54\x20\102\151\x67\x20\106\x72\x65\x64\40\x3c\146\162\x65\144\100\141\156\157\x74\150\145\x72\55\x73\151\x74\145\56\143\157\x2e\x75\153\x3e" . "\15\12" . "\102\143\143\x3a\40\x78\x40\141\154\160\150\141\x62\x65\164\x2e\164\154\x64" . "\xd\xa" . "\x4d\111\115\x45\55\126\145\162\163\x69\x6f\x6e\x3a\x20\61\x2e\x30" . "\15\12" . "\103\157\x6e\164\x65\x6e\164\55\124\171\x70\x65\x3a\x20\x74\145\170\x74\x2f\x70\x6c\x61\151\156" . "\xd\xa" . "\103\157\156\164\x65\156\164\x2d\x54\x72\x61\156\x73\x66\145\x72\x2d\x45\156\143\x6f\144\x69\156\147\72\x20\x71\x75\157\164\x65\144\55\x70\x72\x69\156\164\141\x62\154\145" . "\xd\xa", $message->toString()); } public function testMultipleBccAddressesCanBeSet() { $message = $this->createMessage(); $message->setSubject("\x6a\165\x73\164\40\x61\40\164\x65\163\164\40\x73\165\x62\x6a\145\143\164"); $message->setFrom(array("\x63\x68\162\x69\163\56\143\x6f\x72\x62\x79\x6e\x40\x73\167\x69\x66\164\x6d\141\x69\x6c\x65\162\x2e\157\x72\147" => "\x43\x68\162\x69\x73")); $message->setReplyTo(array("\x63\150\162\151\163\x40\167\63\163\x74\x79\x6c\145\x2e\x63\x6f\56\165\x6b" => "\x4d\x79\163\145\154\x66", "\155\171\56\x6f\164\150\145\x72\100\141\x64\x64\x72\145\x73\163\x2e\143\157\155" => "\115\x65")); $message->setTo(array("\x6d\x61\x72\x6b\x40\x73\167\151\x66\164\x6d\141\x69\154\145\162\56\x6f\162\147", "\143\x68\x72\x69\163\x40\163\x77\151\x66\164\x6d\x61\x69\x6c\145\x72\56\157\x72\147" => "\x43\x68\162\151\x73\x20\103\157\x72\x62\171\x6e")); $message->setCc(array("\152\157\150\156\x40\x73\x6f\155\145\x2d\x73\x69\x74\145\56\143\x6f\x6d" => "\112\x6f\150\156\40\127\145\x73\164", "\146\x72\x65\x64\100\141\x6e\157\164\150\x65\x72\55\163\151\x74\x65\56\143\x6f\x2e\165\x6b" => "\102\151\x67\x20\106\162\x65\x64")); $message->setBcc(array("\170\x40\x61\154\x70\x68\x61\142\x65\164\56\x74\x6c\144", "\141\100\x61\x6c\x70\150\x61\x62\x65\x74\x2e\x74\154\x64" => "\101")); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\x4d\x65\x73\163\x61\147\145\55\111\104\x3a\x20\x3c" . $id . "\76" . "\xd\12" . "\x44\x61\164\145\72\x20" . $date->format("\162") . "\xd\12" . "\x53\165\142\x6a\x65\x63\x74\x3a\x20\x6a\165\163\x74\x20\x61\x20\164\x65\x73\164\40\163\165\x62\152\x65\143\164" . "\15\12" . "\106\x72\x6f\x6d\x3a\x20\x43\150\x72\151\163\x20\74\x63\x68\162\x69\163\56\143\157\x72\x62\x79\x6e\100\x73\167\151\146\164\x6d\x61\151\154\x65\162\x2e\x6f\x72\147\76" . "\xd\xa" . "\x52\x65\160\x6c\171\55\124\157\x3a\40\115\x79\163\x65\154\x66\x20\x3c\143\x68\x72\151\163\x40\x77\x33\x73\164\171\154\145\56\x63\157\56\165\x6b\x3e\54\x20\x4d\145\x20\74\x6d\x79\56\157\164\x68\145\162\x40\x61\144\x64\162\145\163\163\56\143\x6f\x6d\x3e" . "\15\xa" . "\124\x6f\72\x20\x6d\x61\162\153\x40\163\167\151\x66\164\155\141\x69\154\x65\162\56\157\162\147\x2c\x20\103\x68\162\x69\163\x20\103\157\162\x62\x79\x6e\x20\x3c\143\x68\x72\151\163\x40\163\167\x69\x66\164\155\141\x69\x6c\x65\x72\56\157\162\147\x3e" . "\15\12" . "\103\143\x3a\x20\x4a\x6f\150\x6e\40\127\x65\163\164\x20\74\152\x6f\x68\156\x40\163\157\155\145\55\163\x69\164\145\x2e\x63\157\155\x3e\54\40\102\151\x67\40\106\162\145\x64\x20\x3c\146\162\x65\144\x40\x61\x6e\157\164\150\x65\162\55\x73\x69\164\x65\56\x63\157\56\165\153\x3e" . "\15\12" . "\102\x63\x63\72\x20\170\100\141\x6c\x70\150\x61\x62\x65\164\56\164\154\x64\54\x20\x41\40\74\x61\x40\141\x6c\160\x68\x61\142\145\x74\x2e\x74\154\x64\x3e" . "\15\12" . "\115\x49\x4d\x45\x2d\x56\x65\162\x73\151\157\x6e\72\x20\61\x2e\x30" . "\xd\12" . "\x43\157\x6e\164\145\156\164\x2d\x54\x79\x70\145\x3a\x20\164\145\170\164\x2f\x70\154\141\151\x6e" . "\xd\xa" . "\103\157\156\x74\145\x6e\x74\55\x54\x72\x61\x6e\x73\x66\x65\x72\55\x45\156\x63\157\144\x69\x6e\147\72\40\x71\x75\x6f\164\x65\144\55\160\162\x69\156\x74\141\142\x6c\x65" . "\15\12", $message->toString()); } public function testStringBodyIsAppended() { $message = $this->createMessage(); $message->setReturnPath("\143\x68\162\151\x73\x40\167\63\x73\164\171\154\x65\56\x63\x6f\x2e\165\153"); $message->setSubject("\x6a\165\x73\164\40\141\x20\164\x65\163\x74\x20\163\165\x62\x6a\x65\x63\164"); $message->setFrom(array("\x63\150\162\151\x73\x2e\143\157\162\142\171\156\100\163\167\x69\x66\164\x6d\141\151\154\145\x72\56\x6f\162\x67" => "\x43\150\162\151\163\x20\103\157\162\x62\x79\x6e")); $message->setBody("\x6a\x75\x73\164\40\x61\x20\164\x65\163\164\x20\142\x6f\x64\171" . "\xd\12" . "\167\151\x74\x68\x20\x61\x20\156\145\x77\40\x6c\x69\156\145"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\122\x65\164\165\162\156\55\x50\x61\164\150\72\40\74\143\150\x72\151\x73\100\x77\x33\x73\x74\171\154\x65\x2e\143\x6f\56\165\153\76" . "\xd\xa" . "\115\x65\x73\163\x61\147\145\55\x49\x44\72\x20\74" . $id . "\76" . "\xd\xa" . "\104\141\164\145\72\x20" . $date->format("\162") . "\xd\12" . "\x53\165\142\152\x65\143\164\x3a\x20\x6a\165\x73\x74\x20\141\x20\x74\x65\x73\164\x20\x73\165\x62\152\145\143\164" . "\xd\12" . "\106\162\157\x6d\72\x20\x43\x68\162\151\163\x20\x43\157\x72\x62\x79\x6e\x20\74\x63\150\162\x69\x73\56\x63\157\162\x62\171\x6e\x40\x73\x77\x69\146\164\155\141\x69\154\x65\162\56\157\x72\x67\x3e" . "\xd\xa" . "\115\111\115\105\x2d\x56\x65\x72\x73\x69\157\156\72\x20\x31\x2e\60" . "\xd\xa" . "\103\x6f\156\x74\x65\156\164\x2d\x54\171\x70\x65\72\x20\x74\x65\170\164\x2f\160\154\x61\151\x6e" . "\15\12" . "\x43\157\156\x74\x65\156\164\55\x54\x72\141\156\x73\146\x65\x72\55\105\156\x63\x6f\144\x69\156\147\x3a\x20\161\165\x6f\164\145\x64\x2d\160\162\151\x6e\164\x61\142\154\145" . "\xd\12" . "\xd\12" . "\x6a\165\x73\164\40\141\40\164\145\x73\164\40\x62\x6f\x64\171" . "\xd\12" . "\167\151\164\150\x20\x61\x20\156\x65\x77\40\x6c\x69\x6e\x65", $message->toString()); } public function testStringBodyIsEncoded() { $message = $this->createMessage(); $message->setReturnPath("\x63\150\x72\151\x73\100\167\63\x73\164\171\x6c\x65\x2e\x63\x6f\x2e\x75\x6b"); $message->setSubject("\x6a\165\163\164\40\x61\40\164\145\163\x74\40\x73\165\x62\152\x65\143\164"); $message->setFrom(array("\143\150\x72\x69\163\56\143\x6f\162\142\x79\156\100\x73\167\x69\146\164\x6d\141\151\154\145\162\56\x6f\162\x67" => "\103\x68\x72\151\163\40\103\x6f\x72\142\171\156")); $message->setBody("\x4a\165\x73\x74\40\x73" . pack("\103\x2a", 194, 1, 1) . "\x6d\145\40\155\x75\x6c\x74\151\x2d" . "\15\xa" . "\x6c\x69\156\145\x20\x6d\145\x73\163\141\x67\x65\41"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\122\145\x74\165\162\156\55\120\141\x74\x68\72\40\74\143\x68\162\x69\163\100\167\63\x73\164\171\x6c\145\56\143\x6f\56\165\x6b\76" . "\15\12" . "\x4d\145\x73\x73\141\x67\145\x2d\x49\104\x3a\40\74" . $id . "\x3e" . "\xd\12" . "\x44\141\164\x65\72\x20" . $date->format("\x72") . "\xd\12" . "\x53\165\142\x6a\145\x63\x74\x3a\x20\x6a\x75\x73\x74\x20\141\40\164\x65\x73\164\40\163\x75\142\152\145\x63\164" . "\xd\12" . "\x46\x72\157\x6d\72\40\x43\150\x72\151\x73\x20\103\157\162\142\171\156\x20\74\x63\x68\x72\151\163\x2e\143\157\x72\142\171\156\x40\x73\x77\x69\146\164\x6d\x61\x69\154\x65\162\x2e\x6f\162\x67\x3e" . "\xd\xa" . "\x4d\111\x4d\105\x2d\x56\x65\162\163\151\x6f\156\72\x20\x31\56\60" . "\xd\xa" . "\x43\157\156\x74\145\156\x74\x2d\124\x79\x70\145\72\40\x74\x65\170\x74\x2f\x70\154\141\x69\156" . "\xd\xa" . "\x43\x6f\156\x74\145\156\x74\x2d\124\x72\141\156\x73\146\145\x72\x2d\105\156\x63\x6f\x64\x69\156\147\72\x20\161\165\x6f\x74\145\144\55\160\162\151\156\164\141\x62\x6c\145" . "\15\12" . "\xd\xa" . "\112\165\163\164\40\163\75\x43\62\75\x30\61\x3d\60\61\155\x65\40\x6d\165\154\x74\x69\x2d" . "\15\12" . "\154\151\x6e\x65\40\x6d\x65\x73\x73\141\x67\x65\41", $message->toString()); } public function testChildrenCanBeAttached() { $message = $this->createMessage(); $message->setReturnPath("\x63\x68\162\x69\163\x40\167\63\x73\164\171\154\145\56\x63\157\x2e\x75\x6b"); $message->setSubject("\152\x75\163\164\x20\141\40\164\145\163\164\x20\x73\x75\142\152\145\x63\164"); $message->setFrom(array("\x63\150\162\151\x73\56\x63\157\162\x62\x79\x6e\x40\x73\167\151\146\x74\155\x61\151\154\145\x72\56\x6f\x72\147" => "\103\150\x72\x69\x73\x20\103\x6f\162\142\171\x6e")); $id = $message->getId(); $date = $message->getDate(); $boundary = $message->getBoundary(); $part1 = $this->createMimePart(); $part1->setContentType("\164\x65\170\x74\57\x70\154\141\151\x6e"); $part1->setCharset("\151\163\157\55\x38\x38\65\x39\55\61"); $part1->setBody("\146\x6f\157"); $message->attach($part1); $part2 = $this->createMimePart(); $part2->setContentType("\164\x65\x78\164\57\x68\164\x6d\x6c"); $part2->setCharset("\151\163\x6f\x2d\x38\x38\x35\x39\x2d\61"); $part2->setBody("\164\145\163\x74\40\74\x62\x3e\x66\x6f\157\x3c\57\x62\x3e"); $message->attach($part2); $this->assertEquals("\122\x65\x74\165\x72\156\55\x50\x61\164\x68\72\x20\x3c\x63\150\162\x69\x73\x40\x77\x33\x73\164\x79\x6c\x65\x2e\x63\157\x2e\x75\153\76" . "\xd\12" . "\x4d\145\x73\x73\x61\147\x65\x2d\x49\x44\x3a\x20\74" . $id . "\76" . "\15\12" . "\x44\x61\164\145\72\40" . $date->format("\162") . "\xd\xa" . "\x53\165\x62\x6a\x65\x63\x74\x3a\40\x6a\x75\163\x74\x20\x61\x20\164\x65\163\x74\40\x73\x75\x62\152\x65\x63\x74" . "\xd\12" . "\x46\162\x6f\155\x3a\x20\x43\x68\x72\151\163\40\x43\x6f\x72\142\x79\156\x20\x3c\x63\x68\162\151\163\56\143\x6f\x72\142\x79\156\100\x73\167\151\146\x74\x6d\x61\x69\154\145\x72\x2e\157\x72\x67\76" . "\xd\12" . "\x4d\111\x4d\105\x2d\x56\145\x72\163\x69\x6f\156\72\x20\x31\56\60" . "\15\12" . "\103\x6f\x6e\x74\145\x6e\164\x2d\124\x79\160\145\72\40\x6d\165\154\x74\151\160\141\162\164\x2f\x61\x6c\164\x65\x72\156\x61\x74\151\166\145\73" . "\xd\xa" . "\40\x62\157\x75\156\144\141\x72\x79\75\x22" . $boundary . "\42" . "\15\12" . "\xd\xa\xd\xa" . "\55\x2d" . $boundary . "\xd\xa" . "\103\x6f\x6e\x74\x65\156\164\x2d\124\171\x70\145\x3a\x20\x74\145\170\164\x2f\160\x6c\141\151\x6e\x3b\x20\x63\x68\141\x72\x73\x65\x74\x3d\x69\x73\157\55\70\x38\x35\71\x2d\61" . "\15\xa" . "\x43\x6f\156\x74\x65\156\x74\55\124\162\x61\x6e\x73\x66\145\162\x2d\105\156\x63\157\144\151\x6e\147\72\x20\161\x75\157\164\145\x64\55\160\x72\151\x6e\x74\x61\142\x6c\x65" . "\xd\12" . "\xd\xa" . "\146\157\157" . "\xd\12\xd\12" . "\x2d\55" . $boundary . "\xd\xa" . "\x43\x6f\156\164\145\156\164\x2d\x54\171\x70\x65\x3a\40\164\x65\170\x74\57\150\164\155\x6c\x3b\x20\x63\x68\x61\162\163\x65\164\75\151\163\157\55\x38\70\65\71\x2d\61" . "\xd\xa" . "\x43\157\156\x74\145\x6e\x74\x2d\x54\x72\x61\x6e\163\x66\145\x72\55\x45\x6e\143\x6f\144\151\156\147\72\40\x71\x75\x6f\x74\145\144\x2d\x70\162\151\x6e\x74\x61\x62\154\145" . "\15\12" . "\xd\12" . "\x74\145\x73\x74\40\74\142\x3e\x66\x6f\157\74\57\x62\76" . "\15\12\15\xa" . "\55\55" . $boundary . "\55\x2d" . "\xd\12", $message->toString()); } public function testAttachmentsBeingAttached() { $message = $this->createMessage(); $message->setReturnPath("\143\x68\x72\151\163\x40\167\x33\163\x74\171\154\x65\56\143\x6f\56\165\153"); $message->setSubject("\x6a\x75\163\164\40\x61\40\164\x65\163\164\40\163\165\x62\x6a\x65\x63\164"); $message->setFrom(array("\143\150\162\x69\x73\56\143\157\162\x62\171\156\100\163\167\151\146\164\155\x61\151\154\145\x72\56\x6f\162\147" => "\x43\x68\x72\151\163\40\x43\157\162\x62\171\156")); $id = $message->getId(); $date = preg_quote($message->getDate()->format("\x72"), "\x7e"); $boundary = $message->getBoundary(); $part = $this->createMimePart(); $part->setContentType("\164\145\170\164\x2f\x70\x6c\141\151\x6e"); $part->setCharset("\151\163\157\55\x38\x38\x35\71\55\x31"); $part->setBody("\146\x6f\x6f"); $message->attach($part); $attachment = $this->createAttachment(); $attachment->setContentType("\x61\x70\x70\x6c\151\143\x61\x74\151\157\156\x2f\x70\144\x66"); $attachment->setFilename("\x66\157\157\x2e\x70\144\146"); $attachment->setBody("\x3c\160\x64\x66\x20\144\141\164\x61\76"); $message->attach($attachment); $this->assertMatchesRegularExpression("\176\x5e" . "\x52\x65\x74\165\162\156\55\120\x61\164\x68\72\40\74\x63\x68\162\151\163\100\x77\x33\163\164\x79\x6c\x65\56\x63\157\56\x75\x6b\x3e" . "\15\12" . "\x4d\145\x73\163\141\147\x65\x2d\x49\x44\72\40\74" . $id . "\x3e" . "\xd\xa" . "\104\141\x74\x65\x3a\x20" . $date . "\xd\xa" . "\x53\x75\x62\x6a\145\143\x74\72\40\152\x75\163\164\x20\141\x20\164\x65\163\164\x20\x73\165\x62\x6a\145\143\x74" . "\15\xa" . "\106\162\157\155\x3a\x20\103\x68\162\151\163\x20\x43\x6f\162\x62\x79\x6e\40\x3c\x63\x68\162\151\x73\56\143\x6f\x72\x62\x79\x6e\100\x73\x77\151\x66\x74\x6d\x61\x69\x6c\x65\162\x2e\x6f\162\x67\76" . "\15\xa" . "\115\111\x4d\105\55\126\x65\162\163\x69\x6f\x6e\72\40\61\56\x30" . "\15\xa" . "\103\157\156\x74\145\x6e\x74\x2d\124\x79\160\145\72\x20\x6d\x75\154\x74\151\160\141\x72\164\x2f\155\151\170\145\x64\73" . "\xd\xa" . "\40\142\x6f\x75\156\x64\x61\162\171\75\x22" . $boundary . "\42" . "\15\xa" . "\xd\12\xd\xa" . "\55\x2d" . $boundary . "\15\xa" . "\103\157\x6e\164\x65\156\164\x2d\124\x79\x70\x65\x3a\40\x6d\x75\x6c\x74\151\x70\141\x72\164\x2f\141\154\164\145\x72\156\141\164\x69\166\x65\x3b" . "\xd\12" . "\x20\142\x6f\x75\x6e\x64\141\162\x79\75\42\50\56\52\77\51\x22" . "\xd\12" . "\xd\xa\15\xa" . "\55\x2d\x5c\61" . "\15\12" . "\x43\x6f\x6e\164\145\x6e\x74\55\124\171\x70\145\72\40\x74\145\x78\164\x2f\x70\154\141\x69\156\73\x20\143\150\x61\x72\163\145\164\75\151\x73\x6f\x2d\70\x38\x35\x39\55\61" . "\15\xa" . "\x43\157\156\164\x65\x6e\164\x2d\124\162\x61\156\x73\x66\145\162\55\105\156\x63\x6f\144\151\x6e\x67\72\x20\x71\x75\x6f\x74\x65\144\55\x70\x72\x69\x6e\164\x61\x62\x6c\145" . "\xd\12" . "\15\xa" . "\x66\157\x6f" . "\15\12\15\xa" . "\x2d\x2d\134\x31\55\55" . "\15\xa" . "\15\12\xd\12" . "\x2d\x2d" . $boundary . "\15\xa" . "\103\x6f\x6e\164\145\x6e\x74\x2d\x54\x79\x70\x65\72\x20\141\160\x70\x6c\151\143\x61\x74\151\157\x6e\x2f\x70\144\x66\73\40\156\x61\x6d\x65\x3d\x66\157\x6f\56\x70\x64\x66" . "\15\12" . "\103\157\156\x74\145\156\x74\x2d\x54\162\x61\x6e\x73\x66\x65\x72\x2d\x45\156\143\x6f\x64\x69\x6e\147\x3a\x20\x62\141\x73\145\x36\x34" . "\15\xa" . "\103\157\x6e\x74\145\156\x74\55\104\151\x73\160\157\163\151\164\151\x6f\x6e\x3a\x20\x61\164\164\141\143\150\155\145\156\x74\73\x20\146\151\x6c\x65\156\141\155\145\75\x66\x6f\157\56\x70\144\146" . "\15\12" . "\xd\xa" . preg_quote(base64_encode("\74\160\x64\146\x20\x64\x61\x74\141\x3e"), "\176") . "\15\xa\xd\12" . "\55\55" . $boundary . "\55\x2d" . "\xd\12" . "\x24\x7e\x44", $message->toString()); } public function testAttachmentsAndEmbeddedFilesBeingAttached() { $message = $this->createMessage(); $message->setReturnPath("\x63\x68\162\151\163\100\167\63\163\x74\171\x6c\145\56\x63\157\x2e\165\x6b"); $message->setSubject("\x6a\x75\163\164\40\x61\40\164\145\163\x74\40\x73\165\142\x6a\145\x63\164"); $message->setFrom(array("\143\150\162\x69\x73\56\x63\x6f\162\142\171\x6e\100\x73\167\151\x66\x74\155\141\x69\x6c\x65\162\x2e\157\x72\x67" => "\x43\150\x72\151\x73\40\x43\157\162\x62\171\156")); $id = $message->getId(); $date = preg_quote($message->getDate()->format("\x72"), "\176"); $boundary = $message->getBoundary(); $part = $this->createMimePart(); $part->setContentType("\164\x65\170\x74\x2f\160\x6c\x61\151\156"); $part->setCharset("\x69\x73\x6f\55\70\x38\65\x39\55\61"); $part->setBody("\146\157\x6f"); $message->attach($part); $attachment = $this->createAttachment(); $attachment->setContentType("\x61\x70\160\x6c\151\x63\141\x74\x69\x6f\156\x2f\160\x64\146"); $attachment->setFilename("\x66\157\157\56\160\x64\146"); $attachment->setBody("\x3c\x70\x64\x66\40\144\x61\x74\x61\x3e"); $message->attach($attachment); $file = $this->createEmbeddedFile(); $file->setContentType("\151\155\141\x67\145\57\152\160\x65\x67"); $file->setFilename("\155\x79\x69\155\x61\x67\x65\56\x6a\160\147"); $file->setBody("\x3c\x69\x6d\141\147\x65\40\144\141\164\x61\76"); $message->attach($file); $cid = $file->getId(); $this->assertMatchesRegularExpression("\x7e\x5e" . "\x52\x65\x74\165\162\x6e\x2d\120\141\164\x68\x3a\x20\x3c\x63\x68\x72\151\x73\x40\x77\63\163\x74\171\154\x65\56\143\x6f\x2e\x75\x6b\x3e" . "\xd\xa" . "\x4d\x65\x73\163\141\x67\x65\x2d\x49\104\x3a\40\x3c" . $id . "\76" . "\xd\12" . "\104\141\x74\145\x3a\x20" . $date . "\15\xa" . "\x53\x75\x62\152\x65\x63\x74\72\x20\x6a\165\163\164\x20\141\x20\x74\x65\x73\164\40\163\165\142\x6a\145\x63\164" . "\xd\xa" . "\106\x72\157\x6d\72\40\103\150\162\x69\x73\x20\103\x6f\162\142\x79\156\40\74\143\150\162\151\x73\56\x63\x6f\x72\x62\171\x6e\x40\x73\x77\151\x66\x74\x6d\141\151\x6c\x65\x72\56\157\x72\x67\76" . "\15\xa" . "\x4d\111\115\x45\55\x56\145\162\x73\151\x6f\156\72\40\x31\56\60" . "\xd\xa" . "\x43\157\156\164\145\x6e\x74\x2d\x54\171\x70\145\x3a\x20\155\x75\154\164\151\x70\141\162\164\x2f\x6d\x69\170\x65\144\73" . "\15\xa" . "\40\142\x6f\165\x6e\144\141\x72\x79\75\x22" . $boundary . "\x22" . "\15\12" . "\xd\12\15\xa" . "\55\x2d" . $boundary . "\15\12" . "\x43\157\x6e\164\x65\156\164\x2d\x54\x79\x70\x65\x3a\x20\x6d\x75\x6c\x74\x69\160\x61\162\164\x2f\x61\154\x74\x65\162\x6e\141\164\151\166\x65\x3b" . "\15\12" . "\40\142\x6f\165\156\x64\x61\162\x79\75\42\x28\56\52\77\51\42" . "\15\xa" . "\xd\12\15\12" . "\x2d\55\x5c\x31" . "\15\12" . "\x43\157\156\164\x65\x6e\164\55\x54\171\160\x65\72\x20\x74\x65\170\x74\57\160\154\x61\x69\156\x3b\40\143\x68\x61\162\x73\x65\164\x3d\x69\x73\x6f\x2d\70\x38\x35\x39\x2d\61" . "\xd\xa" . "\103\x6f\156\164\145\156\x74\55\124\162\x61\x6e\163\146\145\x72\x2d\x45\x6e\x63\x6f\144\x69\x6e\x67\x3a\40\161\x75\157\164\x65\144\x2d\x70\x72\x69\156\x74\x61\142\x6c\145" . "\xd\xa" . "\xd\12" . "\x66\157\x6f" . "\15\xa\xd\12" . "\x2d\x2d\134\61" . "\xd\xa" . "\x43\157\156\164\x65\x6e\x74\x2d\124\171\160\145\x3a\40\155\x75\x6c\164\x69\160\x61\162\x74\57\162\x65\154\141\164\x65\144\73" . "\xd\xa" . "\x20\x62\157\x75\156\x64\141\162\171\x3d\x22\50\x2e\x2a\x3f\51\x22" . "\xd\12" . "\xd\12\xd\xa" . "\55\55\134\x32" . "\15\xa" . "\x43\x6f\x6e\164\x65\x6e\x74\x2d\x54\171\x70\x65\x3a\x20\151\x6d\x61\147\145\x2f\152\160\145\147\73\x20\x6e\x61\155\145\x3d\155\x79\151\155\141\147\145\56\152\160\147" . "\15\xa" . "\x43\x6f\x6e\164\145\x6e\x74\x2d\124\x72\x61\x6e\163\x66\x65\162\x2d\105\x6e\143\157\144\151\x6e\x67\x3a\x20\x62\x61\163\x65\x36\64" . "\15\xa" . "\103\x6f\x6e\x74\x65\x6e\x74\x2d\x49\x44\72\40\x3c" . $cid . "\x3e" . "\xd\xa" . "\103\157\156\164\145\x6e\x74\x2d\104\x69\x73\160\157\x73\151\164\x69\x6f\156\72\40\x69\156\x6c\151\x6e\x65\73\x20\x66\x69\154\x65\x6e\x61\x6d\x65\x3d\155\x79\151\x6d\x61\x67\145\x2e\152\160\147" . "\xd\12" . "\15\xa" . preg_quote(base64_encode("\74\x69\x6d\141\147\x65\40\x64\x61\164\x61\76"), "\176") . "\15\12\xd\12" . "\55\55\134\x32\55\55" . "\xd\12" . "\xd\12\15\12" . "\x2d\x2d\x5c\x31\x2d\x2d" . "\xd\12" . "\15\12\15\xa" . "\x2d\x2d" . $boundary . "\15\12" . "\103\x6f\156\x74\x65\156\x74\55\x54\x79\x70\x65\72\40\x61\160\x70\154\x69\143\141\x74\x69\x6f\x6e\x2f\x70\144\146\x3b\x20\x6e\141\155\x65\x3d\x66\157\x6f\56\x70\144\146" . "\xd\xa" . "\x43\x6f\156\164\x65\x6e\164\x2d\124\162\x61\156\x73\x66\145\x72\x2d\x45\156\143\157\144\x69\x6e\147\x3a\40\x62\x61\x73\145\66\x34" . "\15\12" . "\x43\157\x6e\x74\145\156\164\x2d\104\x69\x73\160\157\163\151\x74\151\x6f\156\72\x20\x61\164\164\x61\143\150\x6d\x65\156\x74\73\x20\146\x69\154\145\x6e\x61\155\145\x3d\146\157\x6f\56\x70\144\x66" . "\15\12" . "\xd\xa" . preg_quote(base64_encode("\74\x70\x64\x66\x20\144\x61\164\141\x3e"), "\x7e") . "\xd\xa\15\xa" . "\55\x2d" . $boundary . "\55\x2d" . "\15\12" . "\x24\x7e\104", $message->toString()); } public function testComplexEmbeddingOfContent() { $message = $this->createMessage(); $message->setReturnPath("\x63\x68\162\x69\x73\100\167\x33\x73\x74\171\x6c\x65\56\143\x6f\56\165\153"); $message->setSubject("\x6a\165\163\x74\x20\141\40\164\x65\163\164\40\x73\x75\142\x6a\145\143\164"); $message->setFrom(array("\143\150\162\151\163\56\143\x6f\x72\x62\x79\156\x40\163\167\151\x66\164\155\141\151\154\145\x72\56\157\162\147" => "\x43\x68\162\x69\163\40\x43\157\x72\x62\x79\156")); $id = $message->getId(); $date = preg_quote($message->getDate()->format("\162"), "\176"); $boundary = $message->getBoundary(); $attachment = $this->createAttachment(); $attachment->setContentType("\x61\160\x70\x6c\x69\143\141\164\151\x6f\156\x2f\160\144\146"); $attachment->setFilename("\146\157\x6f\56\x70\144\x66"); $attachment->setBody("\x3c\x70\144\146\40\x64\141\x74\x61\76"); $message->attach($attachment); $file = $this->createEmbeddedFile(); $file->setContentType("\151\155\141\x67\x65\57\x6a\160\x65\x67"); $file->setFilename("\155\x79\151\x6d\141\147\x65\x2e\x6a\x70\x67"); $file->setBody("\x3c\x69\x6d\x61\x67\145\x20\x64\x61\164\141\76"); $part = $this->createMimePart(); $part->setContentType("\164\145\x78\x74\57\150\x74\155\154"); $part->setCharset("\x69\163\x6f\x2d\x38\x38\65\71\x2d\x31"); $part->setBody("\146\x6f\157\40\x3c\x69\155\x67\40\x73\x72\x63\x3d\x22" . $message->embed($file) . "\42\40\x2f\76"); $message->attach($part); $cid = $file->getId(); $this->assertMatchesRegularExpression("\176\x5e" . "\122\x65\164\165\x72\x6e\55\120\x61\164\150\x3a\x20\74\x63\150\x72\151\x73\100\167\x33\163\164\x79\x6c\x65\x2e\x63\157\56\165\x6b\76" . "\xd\12" . "\x4d\145\163\x73\x61\147\145\55\x49\104\x3a\40\74" . $id . "\76" . "\15\xa" . "\104\x61\164\x65\x3a\x20" . $date . "\15\12" . "\x53\x75\x62\152\x65\x63\164\x3a\40\x6a\165\163\164\40\x61\40\164\x65\x73\x74\40\x73\165\142\152\x65\143\164" . "\15\12" . "\x46\x72\157\x6d\72\40\103\x68\x72\151\x73\x20\x43\x6f\162\142\171\x6e\40\74\143\150\162\151\x73\56\x63\157\x72\x62\x79\156\x40\163\167\x69\146\x74\155\141\x69\154\x65\x72\x2e\157\x72\x67\x3e" . "\xd\xa" . "\x4d\111\115\x45\55\x56\x65\162\x73\x69\x6f\x6e\72\x20\x31\56\x30" . "\15\12" . "\103\157\x6e\x74\x65\x6e\x74\x2d\124\x79\160\145\72\40\155\165\x6c\x74\151\x70\141\162\x74\x2f\x6d\151\170\x65\144\x3b" . "\15\12" . "\x20\x62\157\x75\156\x64\141\162\171\75\42" . $boundary . "\x22" . "\xd\xa" . "\xd\xa\15\12" . "\55\55" . $boundary . "\xd\12" . "\x43\157\156\164\145\x6e\164\x2d\124\171\x70\x65\x3a\x20\155\165\x6c\164\151\x70\141\x72\164\x2f\162\x65\x6c\x61\164\145\x64\x3b" . "\15\12" . "\x20\x62\x6f\x75\156\x64\141\x72\171\x3d\42\x28\56\52\77\x29\42" . "\xd\xa" . "\15\12\xd\xa" . "\55\55\134\61" . "\xd\xa" . "\x43\x6f\156\x74\x65\x6e\164\x2d\x54\171\160\145\72\x20\x74\145\170\164\x2f\150\x74\155\x6c\73\x20\x63\x68\x61\x72\163\145\x74\x3d\x69\x73\157\x2d\70\x38\65\x39\55\x31" . "\15\xa" . "\103\157\156\x74\145\156\x74\x2d\124\x72\141\x6e\163\x66\145\x72\55\x45\x6e\x63\157\144\x69\156\x67\x3a\x20\x71\x75\x6f\164\145\x64\x2d\160\162\151\x6e\x74\x61\142\154\145" . "\15\12" . "\15\12" . "\x66\x6f\157\x20\74\151\155\147\x20\x73\162\143\x3d\x33\x44\42\x63\151\144\72" . $cid . "\42\x20\57\76" . "\xd\xa\15\12" . "\55\55\134\x31" . "\xd\xa" . "\x43\x6f\156\x74\x65\156\164\x2d\124\x79\160\145\x3a\x20\x69\155\x61\x67\145\57\x6a\x70\145\147\73\40\156\141\155\145\x3d\x6d\x79\x69\155\141\x67\x65\56\152\160\x67" . "\xd\12" . "\x43\x6f\x6e\x74\x65\156\x74\x2d\x54\x72\141\156\163\x66\145\162\55\105\x6e\x63\157\144\x69\x6e\147\72\40\142\x61\163\x65\66\x34" . "\15\xa" . "\103\157\x6e\164\x65\x6e\164\x2d\111\x44\x3a\40\x3c" . $cid . "\x3e" . "\15\xa" . "\x43\157\156\x74\145\156\x74\x2d\104\151\x73\160\157\x73\151\x74\151\x6f\156\x3a\x20\x69\x6e\x6c\x69\x6e\145\x3b\40\146\x69\x6c\x65\156\x61\155\x65\x3d\155\x79\151\x6d\141\x67\x65\x2e\x6a\x70\x67" . "\15\12" . "\15\xa" . preg_quote(base64_encode("\74\151\155\141\x67\x65\40\144\x61\164\141\76"), "\176") . "\xd\12\xd\12" . "\x2d\x2d\134\x31\55\55" . "\xd\xa" . "\15\xa\15\12" . "\55\55" . $boundary . "\15\xa" . "\x43\157\156\164\145\156\164\x2d\124\171\160\145\72\x20\x61\160\x70\154\x69\143\x61\164\151\x6f\156\x2f\x70\x64\146\73\40\156\141\155\x65\75\146\157\x6f\x2e\160\144\146" . "\15\12" . "\x43\x6f\156\164\145\x6e\x74\55\x54\162\141\x6e\x73\x66\145\x72\55\105\x6e\143\x6f\x64\x69\x6e\x67\72\40\142\x61\x73\x65\66\64" . "\15\xa" . "\x43\157\156\164\x65\x6e\x74\x2d\x44\x69\163\x70\x6f\x73\x69\x74\151\157\156\x3a\40\x61\x74\x74\141\x63\x68\155\x65\156\164\73\40\x66\x69\154\145\x6e\141\155\x65\x3d\x66\x6f\x6f\56\x70\x64\146" . "\15\12" . "\xd\12" . preg_quote(base64_encode("\74\x70\144\x66\x20\x64\141\164\x61\x3e"), "\176") . "\15\12\xd\12" . "\55\55" . $boundary . "\55\55" . "\xd\12" . "\x24\176\x44", $message->toString()); } public function testAttachingAndDetachingContent() { $message = $this->createMessage(); $message->setReturnPath("\x63\150\162\151\x73\x40\x77\x33\163\164\x79\x6c\x65\x2e\x63\x6f\56\x75\153"); $message->setSubject("\x6a\165\x73\x74\40\141\x20\164\145\x73\x74\40\x73\x75\x62\152\145\x63\x74"); $message->setFrom(array("\x63\x68\x72\x69\x73\x2e\143\x6f\162\x62\x79\x6e\x40\163\167\x69\x66\164\155\141\151\154\x65\x72\x2e\157\x72\147" => "\103\x68\x72\151\163\x20\x43\x6f\162\x62\171\156")); $id = $message->getId(); $date = preg_quote($message->getDate()->format("\x72"), "\x7e"); $boundary = $message->getBoundary(); $part = $this->createMimePart(); $part->setContentType("\164\x65\170\164\x2f\160\x6c\x61\151\x6e"); $part->setCharset("\x69\x73\x6f\x2d\x38\70\65\x39\x2d\x31"); $part->setBody("\146\157\157"); $message->attach($part); $attachment = $this->createAttachment(); $attachment->setContentType("\x61\160\160\154\x69\143\x61\164\151\x6f\156\57\160\x64\146"); $attachment->setFilename("\x66\x6f\x6f\x2e\x70\x64\146"); $attachment->setBody("\x3c\x70\x64\x66\x20\x64\141\x74\141\x3e"); $message->attach($attachment); $file = $this->createEmbeddedFile(); $file->setContentType("\x69\155\x61\x67\x65\57\x6a\x70\x65\x67"); $file->setFilename("\155\x79\x69\x6d\141\147\145\x2e\152\x70\147"); $file->setBody("\x3c\151\x6d\x61\x67\x65\40\x64\x61\164\x61\76"); $message->attach($file); $cid = $file->getId(); $message->detach($attachment); $this->assertMatchesRegularExpression("\x7e\x5e" . "\122\x65\x74\165\162\x6e\x2d\120\141\164\x68\72\x20\x3c\143\x68\162\151\x73\100\x77\63\163\x74\171\154\145\x2e\x63\157\x2e\165\x6b\76" . "\xd\12" . "\x4d\x65\163\x73\x61\x67\x65\x2d\111\104\x3a\x20\74" . $id . "\x3e" . "\15\12" . "\x44\x61\x74\145\72\x20" . $date . "\15\xa" . "\x53\x75\142\152\x65\143\x74\x3a\x20\x6a\x75\163\164\40\x61\40\164\x65\163\164\40\x73\x75\x62\152\145\143\x74" . "\xd\xa" . "\106\x72\x6f\155\x3a\40\x43\x68\162\151\x73\x20\x43\157\x72\x62\171\156\x20\74\x63\x68\162\151\163\56\x63\x6f\162\x62\x79\156\x40\163\x77\151\x66\x74\x6d\141\151\x6c\145\x72\x2e\x6f\162\x67\76" . "\15\xa" . "\115\x49\115\105\55\126\145\162\x73\x69\157\156\x3a\40\x31\x2e\60" . "\15\xa" . "\103\x6f\x6e\x74\x65\156\164\55\124\171\x70\145\72\40\x6d\165\154\x74\x69\160\x61\162\164\x2f\x61\x6c\164\x65\162\x6e\x61\x74\x69\166\145\73" . "\15\xa" . "\x20\x62\157\165\x6e\x64\x61\162\171\x3d\42" . $boundary . "\x22" . "\xd\12" . "\xd\12\15\12" . "\55\x2d" . $boundary . "\15\12" . "\103\x6f\x6e\164\145\156\x74\x2d\124\171\x70\145\72\40\x74\145\170\164\57\160\154\x61\x69\x6e\x3b\x20\143\150\141\x72\x73\145\x74\75\x69\163\157\x2d\x38\70\65\71\55\61" . "\xd\12" . "\103\x6f\x6e\164\x65\x6e\x74\x2d\x54\x72\141\x6e\163\x66\145\x72\x2d\105\156\x63\x6f\144\x69\156\147\x3a\40\161\165\157\x74\x65\x64\x2d\160\162\151\156\x74\x61\x62\x6c\x65" . "\xd\xa" . "\xd\xa" . "\x66\x6f\157" . "\15\xa\15\xa" . "\55\55" . $boundary . "\15\xa" . "\x43\x6f\x6e\164\x65\x6e\x74\55\x54\171\160\x65\x3a\x20\155\165\154\164\x69\x70\141\x72\164\57\162\145\x6c\141\x74\145\x64\73" . "\xd\12" . "\40\142\157\165\x6e\x64\141\162\x79\75\x22\50\56\52\77\51\x22" . "\15\xa" . "\15\12\xd\xa" . "\x2d\55\134\61" . "\15\xa" . "\x43\157\156\164\145\x6e\x74\x2d\124\x79\160\x65\x3a\x20\x69\155\141\147\x65\x2f\x6a\x70\x65\147\73\x20\156\x61\x6d\x65\75\x6d\x79\151\x6d\141\x67\x65\x2e\152\x70\147" . "\15\12" . "\x43\x6f\x6e\164\x65\x6e\164\x2d\x54\x72\x61\x6e\x73\146\145\162\55\105\x6e\143\x6f\x64\151\156\147\x3a\x20\x62\x61\x73\x65\66\x34" . "\xd\xa" . "\103\x6f\156\x74\x65\x6e\x74\x2d\111\x44\x3a\x20\74" . $cid . "\76" . "\15\12" . "\x43\x6f\x6e\x74\x65\x6e\164\55\104\x69\163\160\x6f\163\151\x74\151\x6f\x6e\x3a\40\151\x6e\x6c\x69\156\x65\x3b\x20\146\x69\154\x65\x6e\141\x6d\x65\x3d\155\171\x69\155\x61\x67\145\x2e\x6a\x70\x67" . "\xd\12" . "\xd\xa" . preg_quote(base64_encode("\x3c\x69\155\141\147\145\40\x64\x61\x74\141\76"), "\x7e") . "\xd\12\15\xa" . "\55\55\134\x31\55\55" . "\xd\xa" . "\xd\12\15\xa" . "\x2d\x2d" . $boundary . "\x2d\55" . "\15\12" . "\44\x7e\x44", $message->toString(), "\45\163\72\x20\x41\x74\x74\x61\x63\150\x6d\x65\x6e\x74\40\163\x68\x6f\165\x6c\x64\x20\150\x61\166\x65\x20\142\x65\145\156\x20\144\145\164\141\143\x68\x65\144"); } public function testBoundaryDoesNotAppearAfterAllPartsAreDetached() { $message = $this->createMessage(); $message->setReturnPath("\x63\150\162\x69\x73\x40\167\x33\163\x74\x79\x6c\145\56\x63\157\56\165\x6b"); $message->setSubject("\152\165\163\164\x20\x61\x20\x74\145\x73\164\x20\163\x75\x62\x6a\145\x63\x74"); $message->setFrom(array("\x63\150\162\x69\163\x2e\x63\157\x72\142\171\156\x40\x73\x77\x69\x66\164\x6d\141\x69\x6c\x65\x72\56\x6f\x72\x67" => "\x43\150\162\151\x73\40\x43\157\x72\142\x79\x6e")); $id = $message->getId(); $date = $message->getDate(); $boundary = $message->getBoundary(); $part1 = $this->createMimePart(); $part1->setContentType("\x74\x65\x78\164\57\x70\x6c\x61\151\156"); $part1->setCharset("\151\163\x6f\x2d\70\x38\x35\71\x2d\61"); $part1->setBody("\146\157\157"); $message->attach($part1); $part2 = $this->createMimePart(); $part2->setContentType("\x74\x65\x78\164\x2f\x68\x74\x6d\x6c"); $part2->setCharset("\151\x73\157\55\x38\x38\65\71\x2d\61"); $part2->setBody("\x74\x65\x73\164\40\x3c\x62\76\146\x6f\x6f\74\x2f\x62\76"); $message->attach($part2); $message->detach($part1); $message->detach($part2); $this->assertEquals("\122\x65\x74\x75\x72\156\55\120\x61\x74\x68\x3a\40\x3c\143\x68\162\151\x73\100\x77\63\163\164\171\x6c\x65\x2e\143\157\x2e\x75\153\76" . "\15\xa" . "\115\x65\163\x73\x61\147\145\55\x49\104\x3a\x20\74" . $id . "\x3e" . "\xd\12" . "\x44\x61\x74\145\72\x20" . $date->format("\x72") . "\xd\12" . "\x53\165\142\152\x65\143\x74\x3a\x20\x6a\165\163\x74\x20\141\x20\x74\x65\x73\164\40\163\165\142\152\145\x63\x74" . "\xd\xa" . "\x46\162\x6f\x6d\72\40\x43\x68\162\151\163\40\103\157\x72\142\x79\156\x20\x3c\x63\x68\162\151\163\x2e\x63\x6f\162\x62\171\x6e\100\163\167\151\146\x74\x6d\x61\151\154\x65\x72\56\x6f\x72\x67\x3e" . "\15\xa" . "\115\111\x4d\x45\x2d\x56\x65\x72\x73\x69\157\x6e\72\40\x31\x2e\60" . "\xd\12" . "\x43\x6f\156\x74\145\x6e\x74\x2d\x54\x79\x70\145\72\40\x74\x65\170\164\57\x70\x6c\x61\x69\x6e" . "\xd\12" . "\103\x6f\x6e\164\145\x6e\x74\x2d\x54\x72\x61\156\163\146\145\162\x2d\x45\156\143\x6f\144\x69\156\147\72\40\x71\165\157\x74\145\144\55\160\162\151\156\164\x61\142\154\x65" . "\xd\12", $message->toString(), "\45\x73\72\x20\115\145\163\163\141\147\x65\40\x73\150\x6f\165\x6c\144\x20\142\x65\x20\x72\145\x73\164\157\162\x65\144\40\x74\157\40\x6f\x72\x69\147\x6e\141\x6c\40\x73\x74\x61\x74\145\40\141\146\164\145\162\x20\160\x61\x72\x74\163\x20\x61\x72\145\x20\x64\145\x74\141\143\x68\x65\144"); } public function testCharsetFormatOrDelSpAreNotShownWhenBoundaryIsSet() { $message = $this->createMessage(); $message->setReturnPath("\x63\150\x72\151\163\x40\x77\63\163\164\171\154\x65\x2e\143\157\x2e\x75\x6b"); $message->setSubject("\152\165\x73\164\x20\x61\40\164\x65\163\x74\40\163\x75\x62\x6a\145\143\x74"); $message->setFrom(array("\143\x68\162\x69\163\56\x63\157\162\142\171\156\x40\x73\x77\151\146\x74\x6d\x61\x69\x6c\145\162\x2e\157\162\x67" => "\103\x68\x72\x69\x73\40\103\x6f\162\142\171\156")); $message->setCharset("\x75\164\x66\x2d\70"); $message->setFormat("\x66\x6c\x6f\x77\x65\x64"); $message->setDelSp(true); $id = $message->getId(); $date = $message->getDate(); $boundary = $message->getBoundary(); $part1 = $this->createMimePart(); $part1->setContentType("\164\x65\x78\x74\57\160\154\141\x69\156"); $part1->setCharset("\151\x73\157\55\x38\70\65\71\x2d\61"); $part1->setBody("\146\x6f\157"); $message->attach($part1); $part2 = $this->createMimePart(); $part2->setContentType("\164\145\170\164\57\150\x74\x6d\x6c"); $part2->setCharset("\x69\163\x6f\55\x38\x38\65\71\x2d\x31"); $part2->setBody("\x74\145\x73\x74\40\74\x62\x3e\x66\157\157\x3c\x2f\x62\x3e"); $message->attach($part2); $this->assertEquals("\x52\x65\x74\x75\162\x6e\x2d\120\141\x74\150\x3a\40\74\x63\150\162\x69\x73\100\x77\63\x73\164\171\154\145\x2e\x63\x6f\x2e\165\153\76" . "\xd\12" . "\x4d\x65\163\163\141\147\x65\55\x49\x44\72\x20\x3c" . $id . "\x3e" . "\xd\12" . "\x44\x61\164\145\72\x20" . $date->format("\162") . "\xd\xa" . "\123\x75\142\152\x65\143\x74\72\40\152\165\x73\x74\40\x61\x20\164\145\x73\164\x20\x73\165\x62\152\x65\x63\164" . "\xd\12" . "\x46\x72\157\x6d\72\x20\103\150\162\151\x73\x20\103\x6f\x72\142\x79\x6e\40\x3c\143\150\162\151\x73\56\x63\x6f\x72\x62\x79\x6e\100\163\x77\151\x66\x74\155\141\151\154\145\162\56\x6f\162\x67\x3e" . "\xd\xa" . "\x4d\111\115\x45\55\126\x65\x72\163\151\157\x6e\x3a\40\x31\56\60" . "\15\12" . "\x43\157\156\x74\x65\156\x74\55\x54\171\x70\145\72\x20\x6d\x75\x6c\x74\151\x70\x61\162\164\x2f\141\x6c\x74\x65\162\x6e\x61\x74\151\x76\145\73" . "\15\12" . "\40\x62\x6f\x75\156\x64\x61\162\171\75\42" . $boundary . "\x22" . "\15\xa" . "\xd\12\xd\12" . "\x2d\x2d" . $boundary . "\xd\xa" . "\x43\x6f\x6e\164\x65\x6e\164\x2d\124\x79\160\x65\x3a\40\164\x65\170\x74\57\x70\x6c\x61\x69\156\73\x20\143\150\x61\x72\163\145\x74\75\151\163\x6f\55\70\70\65\x39\55\61" . "\15\12" . "\103\x6f\x6e\164\145\x6e\x74\55\124\x72\141\x6e\x73\146\x65\x72\55\x45\156\143\157\x64\151\156\147\x3a\x20\x71\x75\x6f\164\x65\x64\55\160\162\151\x6e\164\141\x62\x6c\145" . "\15\xa" . "\xd\xa" . "\x66\157\157" . "\15\12\15\xa" . "\x2d\55" . $boundary . "\xd\12" . "\103\157\156\164\145\x6e\164\55\124\x79\x70\145\72\x20\x74\145\x78\x74\x2f\x68\164\155\x6c\73\x20\143\x68\141\162\x73\x65\164\75\151\163\157\x2d\x38\x38\x35\x39\55\61" . "\15\12" . "\x43\x6f\x6e\164\145\x6e\x74\x2d\x54\162\141\156\x73\x66\145\162\x2d\x45\x6e\143\x6f\x64\x69\156\147\x3a\40\x71\x75\x6f\x74\x65\144\55\160\162\x69\156\164\141\142\154\145" . "\15\xa" . "\xd\12" . "\164\x65\163\164\40\74\x62\76\x66\157\x6f\x3c\57\142\76" . "\15\12\15\12" . "\55\55" . $boundary . "\x2d\55" . "\15\12", $message->toString()); } public function testBodyCanBeSetWithAttachments() { $message = $this->createMessage(); $message->setReturnPath("\143\150\162\151\163\100\167\x33\163\164\x79\154\x65\56\x63\x6f\56\x75\153"); $message->setSubject("\152\165\163\x74\40\141\40\x74\145\163\164\x20\x73\x75\142\152\x65\143\x74"); $message->setFrom(array("\143\150\x72\151\163\56\x63\x6f\162\142\x79\x6e\100\x73\x77\151\146\x74\x6d\141\x69\154\x65\162\x2e\157\x72\147" => "\103\150\x72\x69\x73\40\x43\157\162\x62\171\x6e")); $message->setContentType("\164\145\x78\164\57\x68\x74\x6d\x6c"); $message->setCharset("\151\x73\x6f\x2d\x38\x38\65\71\55\61"); $message->setBody("\146\157\x6f"); $id = $message->getId(); $date = $message->getDate()->format("\162"); $boundary = $message->getBoundary(); $attachment = $this->createAttachment(); $attachment->setContentType("\141\x70\160\x6c\x69\143\x61\x74\151\157\156\57\x70\x64\146"); $attachment->setFilename("\x66\157\x6f\x2e\x70\x64\x66"); $attachment->setBody("\74\160\144\x66\40\x64\x61\164\x61\x3e"); $message->attach($attachment); $this->assertEquals("\x52\145\164\x75\162\x6e\55\120\141\x74\x68\x3a\40\74\143\x68\x72\151\163\100\x77\63\x73\164\x79\154\x65\x2e\143\157\x2e\x75\153\x3e" . "\15\12" . "\x4d\x65\163\x73\x61\x67\145\55\x49\x44\x3a\x20\74" . $id . "\76" . "\15\12" . "\104\x61\164\145\72\x20" . $date . "\15\xa" . "\123\x75\x62\152\x65\x63\164\x3a\40\x6a\x75\163\x74\40\x61\x20\164\145\x73\164\x20\x73\x75\142\152\x65\143\x74" . "\15\12" . "\106\162\x6f\x6d\72\40\x43\150\162\x69\x73\40\103\157\x72\142\x79\x6e\40\74\143\x68\162\151\x73\x2e\x63\x6f\x72\142\x79\156\100\163\x77\x69\x66\164\x6d\141\x69\x6c\145\162\56\x6f\162\147\x3e" . "\xd\12" . "\x4d\111\115\105\x2d\126\x65\x72\163\151\x6f\x6e\72\x20\x31\x2e\60" . "\xd\12" . "\x43\157\156\164\145\x6e\x74\55\x54\171\160\x65\72\40\155\165\154\x74\x69\x70\141\162\x74\57\x6d\151\170\145\144\x3b" . "\15\12" . "\x20\142\157\x75\156\144\x61\x72\x79\x3d\x22" . $boundary . "\x22" . "\xd\xa" . "\15\12\xd\12" . "\55\x2d" . $boundary . "\xd\12" . "\103\157\156\164\145\156\x74\x2d\x54\171\160\145\x3a\40\x74\145\x78\x74\x2f\x68\164\x6d\x6c\73\40\143\150\x61\162\163\145\x74\x3d\x69\163\x6f\x2d\70\x38\65\71\x2d\61" . "\15\xa" . "\103\x6f\x6e\x74\x65\x6e\164\x2d\124\x72\x61\x6e\x73\146\x65\162\55\x45\x6e\143\x6f\144\x69\156\x67\x3a\40\161\x75\x6f\164\145\x64\x2d\160\162\x69\156\164\x61\x62\154\145" . "\xd\xa" . "\xd\12" . "\x66\157\x6f" . "\15\12\xd\xa" . "\x2d\55" . $boundary . "\15\12" . "\x43\x6f\x6e\x74\x65\x6e\x74\x2d\124\171\x70\145\x3a\40\x61\160\x70\x6c\151\143\141\x74\151\157\156\57\x70\144\146\73\x20\156\x61\x6d\x65\x3d\x66\x6f\157\56\x70\x64\146" . "\15\12" . "\x43\157\x6e\x74\145\x6e\x74\55\x54\x72\x61\156\163\146\x65\162\x2d\105\156\143\x6f\x64\151\x6e\x67\72\40\x62\141\x73\145\66\x34" . "\15\xa" . "\x43\x6f\x6e\x74\145\156\164\x2d\x44\x69\163\x70\157\x73\151\x74\151\x6f\156\72\40\x61\x74\x74\x61\x63\150\155\x65\156\164\73\x20\146\151\154\x65\x6e\141\x6d\145\x3d\x66\x6f\x6f\56\160\x64\146" . "\xd\xa" . "\15\12" . base64_encode("\x3c\160\144\x66\x20\144\x61\164\141\x3e") . "\15\12\15\12" . "\55\55" . $boundary . "\55\x2d" . "\15\xa", $message->toString()); } public function testHtmlPartAlwaysAppearsLast() { $message = $this->createMessage(); $message->setReturnPath("\x63\150\162\151\163\100\x77\63\x73\x74\171\x6c\145\x2e\143\x6f\x2e\165\x6b"); $message->setSubject("\152\165\x73\x74\x20\141\40\164\x65\163\164\x20\x73\165\x62\152\145\143\164"); $message->setFrom(array("\143\x68\x72\151\163\56\x63\x6f\x72\142\171\156\x40\x73\x77\x69\x66\x74\x6d\141\x69\154\x65\x72\x2e\157\162\147" => "\x43\x68\x72\151\x73\x20\103\157\x72\x62\171\x6e")); $id = $message->getId(); $date = $message->getDate()->format("\x72"); $boundary = $message->getBoundary(); $part1 = $this->createMimePart(); $part1->setContentType("\x74\x65\x78\x74\x2f\150\164\x6d\x6c"); $part1->setBody("\x66\x6f\157"); $part2 = $this->createMimePart(); $part2->setContentType("\x74\145\x78\164\57\160\x6c\x61\x69\156"); $part2->setBody("\x62\141\x72"); $message->attach($part1); $message->attach($part2); $this->assertEquals("\x52\145\x74\165\162\x6e\55\x50\x61\164\x68\x3a\x20\74\x63\150\x72\x69\163\x40\x77\63\x73\164\x79\154\x65\x2e\x63\x6f\x2e\165\153\x3e" . "\15\xa" . "\x4d\x65\163\x73\141\147\x65\x2d\x49\x44\72\40\x3c" . $id . "\76" . "\15\xa" . "\x44\141\164\x65\72\x20" . $date . "\xd\xa" . "\x53\x75\x62\x6a\x65\143\164\x3a\40\152\x75\163\x74\x20\x61\40\x74\145\163\164\x20\163\x75\x62\x6a\145\x63\x74" . "\xd\xa" . "\x46\x72\x6f\x6d\x3a\x20\103\x68\x72\x69\x73\40\x43\157\x72\142\x79\156\40\x3c\143\150\162\x69\163\56\143\x6f\x72\142\x79\x6e\100\163\167\151\x66\x74\155\x61\151\x6c\145\x72\56\x6f\x72\x67\x3e" . "\xd\xa" . "\115\x49\x4d\105\55\x56\145\162\163\151\157\x6e\72\x20\61\x2e\x30" . "\15\xa" . "\x43\157\156\164\145\156\x74\x2d\x54\171\x70\x65\x3a\x20\x6d\x75\154\x74\151\160\141\162\x74\57\141\x6c\164\145\162\x6e\141\164\151\166\145\73" . "\15\xa" . "\x20\142\x6f\x75\x6e\144\141\x72\171\x3d\42" . $boundary . "\42" . "\xd\12" . "\15\12\xd\xa" . "\55\x2d" . $boundary . "\15\xa" . "\x43\157\156\164\145\156\x74\x2d\x54\x79\160\145\72\40\164\145\170\x74\x2f\x70\x6c\141\x69\156" . "\15\xa" . "\103\157\156\164\145\156\x74\x2d\124\162\141\x6e\x73\146\145\162\55\105\156\143\x6f\x64\x69\x6e\x67\72\40\161\165\157\x74\145\144\x2d\160\x72\x69\156\x74\141\x62\154\x65" . "\15\xa" . "\xd\xa" . "\142\x61\162" . "\15\12\15\xa" . "\x2d\55" . $boundary . "\15\xa" . "\103\x6f\x6e\164\145\x6e\x74\55\x54\x79\160\x65\72\40\x74\145\170\x74\57\150\164\x6d\x6c" . "\15\xa" . "\103\157\x6e\x74\x65\156\164\55\124\162\141\x6e\163\x66\145\162\55\x45\x6e\143\157\144\151\156\147\x3a\40\161\x75\x6f\x74\x65\144\55\160\x72\151\x6e\164\141\142\x6c\145" . "\xd\xa" . "\15\12" . "\x66\157\x6f" . "\15\12\15\xa" . "\55\x2d" . $boundary . "\55\x2d" . "\15\xa", $message->toString()); } public function testBodyBecomesPartIfOtherPartsAttached() { $message = $this->createMessage(); $message->setReturnPath("\143\x68\x72\151\163\100\x77\x33\x73\164\171\x6c\x65\x2e\x63\x6f\56\165\x6b"); $message->setSubject("\152\165\163\x74\40\x61\x20\164\x65\x73\164\x20\x73\165\x62\x6a\145\x63\x74"); $message->setFrom(array("\x63\x68\x72\x69\x73\x2e\143\157\x72\142\x79\156\100\163\x77\x69\x66\x74\x6d\x61\x69\154\x65\x72\56\157\x72\x67" => "\103\150\162\151\x73\x20\103\x6f\x72\x62\x79\x6e")); $message->setContentType("\x74\x65\x78\x74\x2f\x68\164\x6d\x6c"); $message->setBody("\146\157\x6f"); $id = $message->getId(); $date = $message->getDate()->format("\x72"); $boundary = $message->getBoundary(); $part2 = $this->createMimePart(); $part2->setContentType("\x74\x65\x78\x74\57\160\x6c\141\x69\x6e"); $part2->setBody("\142\141\x72"); $message->attach($part2); $this->assertEquals("\x52\x65\164\165\x72\156\55\120\141\x74\x68\x3a\40\x3c\x63\x68\x72\151\x73\x40\167\x33\163\x74\x79\154\145\56\143\x6f\x2e\165\153\x3e" . "\15\xa" . "\x4d\145\163\163\x61\x67\145\55\111\104\72\40\74" . $id . "\x3e" . "\xd\12" . "\104\141\x74\145\x3a\x20" . $date . "\xd\xa" . "\x53\x75\x62\152\x65\143\x74\72\40\x6a\165\163\x74\x20\141\40\x74\x65\163\164\x20\163\165\x62\152\x65\x63\164" . "\xd\xa" . "\x46\x72\x6f\x6d\72\x20\x43\x68\162\151\x73\x20\x43\157\x72\142\171\156\x20\x3c\143\150\x72\151\x73\56\x63\157\x72\142\x79\156\x40\163\167\x69\x66\164\155\141\151\154\x65\162\x2e\157\x72\x67\76" . "\xd\12" . "\x4d\x49\115\105\55\126\145\162\163\x69\x6f\156\72\40\61\x2e\x30" . "\15\xa" . "\103\157\x6e\x74\x65\156\x74\55\124\171\x70\145\x3a\40\x6d\165\x6c\164\x69\x70\141\x72\x74\57\141\154\x74\145\x72\156\x61\164\151\x76\x65\73" . "\15\12" . "\x20\142\157\165\156\x64\x61\162\x79\75\42" . $boundary . "\x22" . "\xd\xa" . "\xd\xa\xd\12" . "\55\x2d" . $boundary . "\xd\xa" . "\103\x6f\x6e\164\145\156\x74\55\x54\171\x70\x65\72\x20\164\x65\170\x74\x2f\x70\154\141\x69\156" . "\xd\12" . "\x43\x6f\156\164\145\156\x74\x2d\x54\162\141\156\163\146\145\x72\x2d\105\x6e\143\157\x64\x69\156\147\72\x20\161\165\x6f\x74\x65\x64\x2d\160\162\x69\156\x74\141\x62\x6c\x65" . "\15\12" . "\15\xa" . "\142\141\x72" . "\15\xa\xd\12" . "\x2d\x2d" . $boundary . "\xd\12" . "\x43\157\156\164\x65\x6e\x74\55\x54\x79\160\145\x3a\x20\164\x65\x78\x74\x2f\x68\164\x6d\154" . "\15\12" . "\103\x6f\156\164\145\x6e\x74\55\124\162\x61\156\163\146\x65\x72\55\105\x6e\143\157\144\x69\156\x67\x3a\x20\161\165\x6f\x74\x65\144\55\160\x72\x69\x6e\x74\x61\142\154\x65" . "\xd\12" . "\15\12" . "\x66\x6f\157" . "\15\xa\xd\xa" . "\x2d\x2d" . $boundary . "\x2d\x2d" . "\15\12", $message->toString()); } public function testBodyIsCanonicalized() { $message = $this->createMessage(); $message->setReturnPath("\143\x68\162\151\163\100\167\x33\x73\164\x79\x6c\145\56\143\157\56\165\153"); $message->setSubject("\152\x75\x73\164\x20\141\40\x74\145\x73\x74\x20\x73\x75\142\152\x65\x63\x74"); $message->setFrom(array("\x63\150\x72\151\163\56\143\x6f\162\x62\171\x6e\100\x73\167\151\146\x74\x6d\141\x69\x6c\145\x72\x2e\x6f\162\x67" => "\103\150\162\x69\x73\x20\103\157\162\x62\x79\x6e")); $message->setBody("\152\165\163\x74\x20\x61\40\x74\145\x73\164\x20\x62\157\144\171" . "\12" . "\x77\151\x74\x68\x20\x61\40\156\145\x77\x20\x6c\x69\156\x65"); $id = $message->getId(); $date = $message->getDate(); $this->assertEquals("\x52\145\164\x75\x72\156\x2d\120\x61\x74\x68\72\x20\74\143\150\162\151\163\x40\x77\63\x73\x74\171\x6c\x65\56\143\157\x2e\165\153\76" . "\xd\xa" . "\115\x65\163\163\141\147\145\55\111\x44\x3a\40\74" . $id . "\x3e" . "\xd\12" . "\104\x61\x74\x65\x3a\x20" . $date->format("\162") . "\xd\12" . "\123\165\x62\152\x65\143\164\72\40\152\x75\163\x74\40\x61\x20\x74\x65\163\x74\40\x73\165\142\x6a\145\x63\164" . "\15\12" . "\x46\162\157\155\72\x20\x43\150\x72\151\163\x20\x43\x6f\162\x62\x79\x6e\40\74\143\x68\x72\151\163\56\143\x6f\162\142\171\x6e\x40\x73\167\x69\x66\164\x6d\x61\151\x6c\x65\x72\56\157\x72\x67\76" . "\xd\12" . "\x4d\111\x4d\105\x2d\x56\x65\x72\163\151\x6f\156\x3a\x20\x31\56\x30" . "\15\xa" . "\x43\157\156\164\145\x6e\x74\x2d\x54\x79\x70\x65\x3a\x20\x74\145\x78\164\57\160\154\x61\151\x6e" . "\xd\12" . "\x43\157\x6e\164\145\x6e\x74\x2d\x54\x72\141\156\x73\x66\145\162\x2d\105\x6e\x63\x6f\144\151\156\147\x3a\x20\161\165\157\x74\145\144\x2d\160\x72\x69\x6e\x74\141\x62\x6c\145" . "\15\xa" . "\15\12" . "\x6a\165\x73\164\40\x61\x20\164\x65\x73\164\x20\x62\x6f\144\x79" . "\15\xa" . "\167\x69\x74\150\x20\141\40\x6e\145\x77\x20\x6c\151\x6e\145", $message->toString()); } protected function createMessage() { return new Swift_Message(); } protected function createMimePart() { return new Swift_MimePart(); } protected function createAttachment() { return new Swift_Attachment(); } protected function createEmbeddedFile() { return new Swift_EmbeddedFile(); } }

Function Calls

None

Variables

None

Stats

MD5 dbea6c5e20170df09b4eee1f1d4ed3cc
Eval Count 0
Decode Time 120 ms