Пример #1
0
 /**
  * 
  * @param string $name
  * @return Message
  * @throws Exception
  */
 public function create($name)
 {
     if (!isset($this->config[$name])) {
         throw new Exception(__METHOD__ . ': message draft with name "' . $name . '" does not exists.');
     }
     $draft = new MessageDraft($this->config[$name]);
     $message = new Message($draft->getFrom(), $draft->getTo(), $draft->getSubject(), $draft->getBody(), $draft->getType());
     $message->setEncoding($draft->getEncoding());
     $message->setCc($this->applyEmails($draft->getCc()));
     $message->setBcc($this->applyEmails($draft->getBcc()));
     return $message;
 }
Пример #2
0
 public function testIsMultipart()
 {
     $message = new Message();
     $this->assertFalse($message->isMultipart());
     $message->addAttachment(new StringAttachment([]));
     $this->assertTrue($message->isMultipart());
     $message = new Message();
     $message->setBodyText('text');
     $this->assertFalse($message->isMultipart());
     $message->setBodyHtml('html');
     $this->assertTrue($message->isMultipart());
 }
 /**
  * 
  * @param Message $message
  * @return ZendMessage
  */
 public static function convert(Message $message)
 {
     $mailMessage = new ZendMessage();
     $mailMessage->setSubject($message->getSubject());
     $mailMessage->setFrom($message->getFrom());
     $mailMessage->setTo($message->getTo());
     $mailMessage->setCc($message->getCc());
     $mailMessage->setBcc($message->getBcc());
     $mailMessage->setReplyTo($message->getReplyTo());
     $mailMessage->getHeaders()->addHeaders($message->getHeaders());
     if ($mailMessage->getSender()) {
         $mailMessage->setSender($message->getSender());
     }
     if ($message->isMultipart()) {
         $mimePart = new MimeMessage();
         if ($message->getBodyHtml()) {
             $part = new Part($message->getBodyHtml());
             $part->charset = $message->getCharset();
             $part->encoding = $message->getEncoding();
             $part->type = Mime::TYPE_HTML;
             $mimePart->addPart($part);
         }
         if ($message->getBodyText()) {
             $part = new Part($message->getBodyText());
             $part->charset = $message->getCharset();
             $part->encoding = $message->getEncoding();
             $part->type = Mime::TYPE_TEXT;
             $mimePart->addPart($part);
         }
         foreach ($message->getAttachments() as $attachment) {
             $mimePart->addPart($attachment->asMimePart());
         }
         foreach ($message->getParts() as $part) {
             $mimePart->addPart($part);
         }
         $mailMessage->setBody($mimePart);
     } else {
         $mailMessage->getHeaders()->addHeaderLine('Content-Type', $message->getContentType());
         $mailMessage->setEncoding($message->getEncoding());
         $mailMessage->setBody($message->getFilledBody());
     }
     return $mailMessage;
 }