Exemplo n.º 1
0
 /**
  * Test body in advanced hierarchy
  */
 public function testBodyAdvanced()
 {
     $message1 = new Mime\Message();
     $htmlPart = new Mime\Part('simple <b>html</b>');
     $htmlPart->type = 'text/html';
     $textPart = new Mime\Part('simple text');
     $textPart->type = 'text/plain';
     $emptPart = new Mime\Part('simple text alternative');
     $emptPart->type = '';
     $message1->addPart($htmlPart);
     $message2 = clone $message1;
     $message2->addPart($textPart);
     $this->message->setBody(array($message1, $message2, 'text/plain' => $emptPart));
     $body = $this->message->getBody();
     $this->assertInstanceOf('Zend\\Mime\\Message', $body);
     $this->assertMimeMessages(array('multipart/mixed' => $message2->generateMessage(\Zend\Mail\Headers::EOL), 'text/html' => 'simple <b>html</b>', 'text/plain' => 'simple text alternative'), $body);
 }
Exemplo n.º 2
0
 /**
  *
  * @return \Zend\View\Model\ViewModel
  */
 public function indexAction()
 {
     $sentSuccess = null;
     $request = $this->getRequest();
     $postdata = $request->getPost();
     $serviceLocator = $this->getServiceLocator();
     $form = $serviceLocator->get('Form')->get('Grid\\Share\\Email');
     $translator = $serviceLocator->get('translator');
     $auth = $serviceLocator->get('Zend\\Authentication\\AuthenticationService');
     if ($request->isPost()) {
         $form->setData($postdata);
         if ($form->isValid()) {
             $data = $form->getData();
             $renderer = $serviceLocator->get('ViewRenderer');
             $messageView = new ViewModel();
             $messageView->setTemplate('grid/share/email/message');
             $messageView->setVariables(array('senderName' => $data['senderName'], 'recipientName' => $data['recipientName'], 'shareUrl' => $data['shareUrl'], 'message' => $data['message']));
             $bodyHtml = $renderer->render($messageView);
             $mail = new Message();
             $mail->setBody($bodyHtml);
             $mail->setFrom($data['senderEmail'], $data['senderName']);
             $mail->addTo($data['recipientEmail'], $data['recipientName']);
             $mail->setSubject($translator->translate('share.email.message.subject', 'share'));
             $mailServiceFactory = new ServiceFactory();
             $mailSender = $mailServiceFactory->createService($serviceLocator);
             $mailSender->send($mail);
             $sentSuccess = true;
         }
     } else {
         $prefillData = array('shareUrl' => $this->params()->fromQuery('shareUrl'));
         if ($auth->hasIdentity()) {
             $prefillData['senderEmail'] = $auth->getIdentity()->email;
             $prefillData['senderName'] = $auth->getIdentity()->displayName;
         }
         $form->setData($prefillData);
     }
     $view = new ViewModel();
     $view->setVariable('form', $form);
     $view->setVariable('sentResultSuccess', $sentSuccess);
     $view->setTerminal(true);
     return $view;
 }
Exemplo n.º 3
0
 /**
  * @param array|\Traversable|\Zend\Mail\Message $message
  * @return \Zend\Mail\Message
  */
 public function createMessage($message)
 {
     if (!$message instanceof Mail\Message) {
         $mail = new Message();
         foreach ($message as $option => $value) {
             $method = array($mail, 'set' . ucfirst($option));
             if (is_callable($method)) {
                 $method($value);
             } else {
                 $mail->getHeaders()->addHeaderLine($option, $value);
             }
         }
         $message = $mail;
     }
     $from = $message->getFrom();
     if (empty($from) || $from->count() < 1) {
         $defaultFrom = $this->getDefaultFrom();
         $defaultReplyTo = $this->getDefaultReplyTo();
         $message->setFrom($defaultFrom['email'], $defaultFrom['name']);
         $message->setReplyTo($defaultReplyTo['email'], $defaultReplyTo['name']);
     }
     return $message;
 }