/**
  * @param \Zend\Mail\Transport\TransportInterface $transport
  * @param \Phpro\MailManager\Service\MailMessageCreator $messageCreator
  * @param \Zend\Mime\Message $mailMessage
  */
 public function it_should_send_a_mail_with_zend_view_renderer($transport, $messageCreator, $mailMessage)
 {
     $mail = $this->getRenderableMailStub();
     $messageCreator->createMessage($mail)->willReturn($mailMessage);
     $transport->send(Argument::that(function ($message) use($mail, $mailMessage) {
         return $message instanceof Mandrill && $message->getTo()->has('*****@*****.**') && $message->getCc()->has('*****@*****.**') && $message->getBcc()->has('*****@*****.**') && $message->getFrom()->has('*****@*****.**') && $message->getReplyTo()->has('*****@*****.**') && $message->getSubject() == $mail->getSubject() && $message->getOptions() == ['subaccount' => 'test'] && $message->getImages() == [] && $message->getTags() == ['tag1', 'tag2'] && $message->getBody() == $mailMessage->getWrappedObject();
     }))->shouldBeCalled();
     $this->send($mail);
 }
 /**
  * @param \Zend\Mail\Transport\TransportInterface $transport
  * @param \Phpro\MailManager\Service\MailMessageCreator $messageCreator
  * @param \Zend\Mime\Message $mailMessage
  */
 public function it_should_send_a_mail($transport, $messageCreator, $mailMessage)
 {
     $mail = $this->getMailStub();
     $messageCreator->createMessage($mail)->willReturn($mailMessage);
     $transport->send(Argument::that(function ($message) use($mail, $mailMessage) {
         return $message->getBody() == $mailMessage->getWrappedObject() && $message->getTo()->has('*****@*****.**') && $message->getCc()->has('*****@*****.**') && $message->getBcc()->has('*****@*****.**') && $message->getFrom()->has('*****@*****.**') && $message->getReplyTo()->has('*****@*****.**') && $message->getSubject() == $mail->getSubject();
     }))->shouldBeCalled();
     $this->send($mail);
 }
Esempio n. 3
0
 /**
  * @param ZendMailInterface $mail
  *
  * @return Mail\Message
  */
 protected function createMessage(ZendMailInterface $mail)
 {
     $message = new Mail\Message();
     $message->getHeaders()->addHeaders($mail->getHeaders());
     $message->setTo($mail->getTo());
     $message->setCc($mail->getCc());
     $message->setBcc($mail->getBcc());
     $message->setFrom($mail->getFrom());
     $message->setReplyTo($mail->getReplyTo());
     $message->setSubject($mail->getSubject());
     $message->setBody($this->messageCreator->createMessage($mail));
     return $message;
 }
Esempio n. 4
0
 /**
  * @param MandrillInterface $mail
  *
  * @return Mandrill
  */
 protected function createMessage(MandrillInterface $mail)
 {
     $message = new MandrillMessage();
     $message->getHeaders()->addHeaders($mail->getHeaders());
     $message->setTo($mail->getTo());
     $message->setCc($mail->getCc());
     $message->setBcc($mail->getBcc());
     $message->setReplyTo($mail->getReplyTo());
     if ($mail->getFrom()) {
         $message->setFrom($mail->getFrom());
     }
     if ($mail->getSubject()) {
         $message->setSubject($mail->getSubject());
     }
     $message->setOptions($mail->getOptions());
     $message->setTags($mail->getTags());
     $message->setImages($mail->getImages());
     if ($mail->useMandrillTemplate()) {
         // USe build-in template functionality in mandrill?
         $message->setTemplate($mail->getTemplate());
         $message->setTemplateContent($mail->getTemplateContent());
         $message->setGlobalVariables($mail->getGlobalVariables());
         $message->setGlobalMetadata($mail->getGlobalMetadata());
         if ($mail->getVariables()) {
             foreach ($mail->getVariables() as $recipient => $variables) {
                 $message->setVariables($recipient, $variables);
             }
         }
     } else {
         // Use the bodyrenderer
         $message->setBody($this->messageCreator->createMessage($mail));
     }
     if ($mail->getMetadata()) {
         foreach ($mail->getMetadata() as $recipient => $metadata) {
             $message->setMetadata($recipient, $metadata);
         }
     }
     return $message;
 }