public function testMimeMail() { $mimeMail = new MimeMail(); $mimeMail->setBoundary('MIME_MAIL_TEST'); $mimeMail->addPart(MimePart::create()->setEncoding(MailEncoding::base64())->setCharset('UTF-8')->loadBodyFromFile(dirname(__FILE__) . '/data/mimeMail/message.html')->setContentType('text/html')); $mimeMail->addPart(MimePart::create()->setContentId('picture')->setEncoding(MailEncoding::base64())->setFilename('picture.jpg')->loadBodyFromFile(dirname(__FILE__) . '/data/mimeMail/picture.jpg')->setContentType('image/jpeg')); $mimeMail->build(); // file_put_contents(dirname(__FILE__).'/data/mimeMail/headers.txt', $mimeMail->getHeaders()); // file_put_contents(dirname(__FILE__).'/data/mimeMail/encodedBody.txt', $mimeMail->getEncodedBody()); $this->assertEquals($mimeMail->getHeaders(), file_get_contents(dirname(__FILE__) . '/data/mimeMail/headers.txt')); $this->assertEquals($mimeMail->getEncodedBody(), file_get_contents(dirname(__FILE__) . '/data/mimeMail/encodedBody.txt')); }
public function build() { if (!$this->parts) { throw new UnimplementedFeatureException(); } if (!$this->boundary) { $this->boundary = '=_' . md5(microtime(true)); } $mail = MimePart::create()->setContentType('multipart/mixed')->setBoundary($this->boundary); $this->headers = "MIME-Version: 1.0\n" . $mail->getHeaders(); foreach ($this->parts as $part) { $this->body .= '--' . $this->boundary . "\n" . $part->getHeaders() . "\n\n" . $part->getEncodedBody() . "\n"; } $this->body .= '--' . $this->boundary . "--" . "\n\n"; }