/** * * @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; }
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; }