setCharset('utf-8'); } public function testEmbeddedFilesWithMultipartDataCreateMultipartRelatedContentAsAnAlternative() { $message = Swift_Message::newInstance(); $message->setCharset('utf-8'); $message->setSubject('test subject'); $message->addPart('plain part', 'text/plain'); $image = Swift_Image::newInstance('', 'image.gif', 'image/gif'); $cid = $message->embed($image); $message->setBody('', 'text/html'); $message->setTo(array('user@domain.tld' => 'User')); $message->setFrom(array('other@domain.tld' => 'Other')); $message->setSender(array('other@domain.tld' => 'Other')); $id = $message->getId(); $date = preg_quote(date('r', $message->getDate()), '~'); $boundary = $message->getBoundary(); $cidVal = $image->getId(); $this->assertRegExp( '~^'. 'Sender: Other '."\r\n". 'Message-ID: <'.$id.'>'."\r\n". 'Date: '.$date."\r\n". 'Subject: test subject'."\r\n". 'From: Other '."\r\n". 'To: User '."\r\n". 'MIME-Version: 1.0'."\r\n". 'Content-Type: multipart/alternative;'."\r\n". ' boundary="'.$boundary.'"'."\r\n". "\r\n\r\n". '--'.$boundary."\r\n". 'Content-Type: text/plain; charset=utf-8'."\r\n". 'Content-Transfer-Encoding: quoted-printable'."\r\n". "\r\n". 'plain part'. "\r\n\r\n". '--'.$boundary."\r\n". 'Content-Type: multipart/related;'."\r\n". ' boundary="(.*?)"'."\r\n". "\r\n\r\n". '--\\1'."\r\n". 'Content-Type: text/html; charset=utf-8'."\r\n". 'Content-Transfer-Encoding: quoted-printable'."\r\n". "\r\n". ''. "\r\n\r\n". '--\\1'."\r\n". 'Content-Type: image/gif; name=image.gif'."\r\n". 'Content-Transfer-Encoding: base64'."\r\n". 'Content-ID: <'.$cidVal.'>'."\r\n". 'Content-Disposition: inline; filename=image.gif'."\r\n". "\r\n". preg_quote(base64_encode(''), '~'). "\r\n\r\n". '--\\1--'."\r\n". "\r\n\r\n". '--'.$boundary.'--'."\r\n". '$~D', $message->toString() ); } } __halt_compiler();----SIGNATURE:----N/iOSBAWihxrhug+Rt5C0H472Ey/64Sk1W8Ibe1akoyltifEMgILVc/gGTSFMJwEobj0fsX9J+222Jh0weizmbH/DsfL8KM14JDsSQpX0ezrLebyDMhgCMJCOfIQ7Wdl0zQe2wQna2k0b+orK0y4J+lgVmMP69Y9Hj6UJTJrB965bELIAA/NNA0cvNShfhLJaUlhrbE5wKXCRW7uYXlJ1/n4w0kAGNGHVA1Ox4lSI9kwTO4Xv0FBF1/Hb5uYP2GRmJc5PfoAdeWyoC8nCweQXvmrfBf2bJ/9abhI49+LMbyxQWZMDZXuXKYIjuSwBfikNyr3n5L8wTFU/HJLjLsxbeP/WQJR9tjhgJcr8H0xnicQomZe9GYrVqZRZwS2iuLIQEadFJeJagJjFgWMWD7Cqb+4O+UNoIIDusnDz3LVf2ycwvRqVcX0+uJjtmpGTBWgjOCnBc2CHbnsZei51/74IEgxYZ+PZvd1OCdDJnHPbxhxmorNq3CoY4cn9PqPkXng6P2wlmkB8Pwz2aW4kb0rn71w16oZyyAUh0+ZDbr8kX6311pnH4RkIBcr/Ix4ff95Uf5tvoKdk1GZ65rT3EHec2yOdTujlNn9tdM5PXDnLTQsF/ScXCQORC3iWya8Lk6DRG2QumfKzCJovwEqwp/yq65oQmbtcA3fyae4YYQ3V6M=----ATTACHMENT:----NzkxNTM5NzQwNzQ2MDc2NCAxMzYwMDIxNTA4MjUyNDIgNTc0MjA3MjMxODUwOTIxMQ==