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";
 }