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