/** * @param $message * @param string $destination * @param null $transport * @return MailgunMessage|\PHPMailer|\Swift_Message|Message * @throws MailWrapperSetupException */ public static function convert($message, $destination = 'wrappedMessage', $transport = null) { switch (true) { case $message instanceof MailWrappedMessage: break; case $message instanceof Message: $message = MessageTransformerZend::toWrappedMessage($message); break; case $message instanceof MessageBuilder: $message = MessageTransformerMailgun::toWrappedMessage($message); break; case $message instanceof \PHPMailer: $message = MessageTransformerPhpMailer::toWrappedMessage($message); break; case $message instanceof \Swift_Message: $message = MessageTransformerSwift::toWrappedMessage($message); break; default: throw new MailWrapperSetupException('No Message Converter'); } switch ($destination) { case 'mailgun': return MessageTransformerMailgun::fromWrappedMessage($message, $transport); case 'phpmailer': return MessageTransformerPhpMailer::fromWrappedMessage($message); case 'swift': return MessageTransformerSwift::fromWrappedMessage($message); case 'zend': return MessageTransformerZend::fromWrappedMessage($message); case 'wrappedMessage': return $message; default: throw new MailWrapperSetupException('No Message Converter'); } }
/** * */ public function testValidTo() { $wrappedMessage = TesterWrappedMessage::getValid(); $message = MessageTransformerSwift::fromWrappedMessage($wrappedMessage); $this->assertInstanceOf('\\Swift_Message', $message); $this->assertCount(2, $message->getTo()); $this->assertCount(2, $message->getCc()); $this->assertCount(2, $message->getBcc()); $this->assertGreaterThan(0, strlen($message->getSubject())); $this->assertGreaterThan(0, strlen($message->getBody())); }