예제 #1
0
 function setHtml($html, $text = null, $images_dir = null)
 {
     $body = $this->mail->getBody();
     if (!$body instanceof \Zend\Mime\Message && !empty($body)) {
         $this->convertBodyToMime($body);
         $body = $this->mail->getBody();
     }
     if (!$body instanceof Zend\Mime\Message) {
         $body = new Zend\Mime\Message();
     }
     $partHtmlFound = false;
     $partTextFound = false;
     $parts = $body->getParts();
     foreach ($parts as $part) {
         /* @var $part Zend\Mime\Part */
         if ($part->getType() == Zend\Mime\Mime::TYPE_HTML) {
             $partHtmlFound = true;
             $part->setContent($html);
         }
         if ($part->getType() == Zend\Mime\Mime::TYPE_TEXT) {
             $partTextFound = true;
             if ($text) {
                 $part->setContent($text);
             }
         }
     }
     if (!$partHtmlFound) {
         $htmlPart = new Zend\Mime\Part($html);
         $htmlPart->setType(Zend\Mime\Mime::TYPE_HTML);
         $parts[] = $htmlPart;
     }
     if (!$partTextFound && $text) {
         $textPart = new Zend\Mime\Part($text);
         $textPart->setType(Zend\Mime\Mime::TYPE_TEXT);
         $parts[] = $textPart;
     }
     $body->setParts($parts);
     $this->mail->setBody($body);
 }