示例#1
0
 /**
  * Create an EmailMessage with serialized data
  *
  * @param string $subjectLine
  * @param string $template
  * @param array $data
  *
  * @return EmailMessageManager
  */
 public function createEmailMessage($subjectLine, $template, $data)
 {
     $serializedData = $this->serializer->serialize($data, 'json');
     $message = new EmailMessage($subjectLine, $template);
     $message->setJsonData($serializedData);
     return $message;
 }
示例#2
0
 /**
  * @Route("/test/{type}")
  */
 public function testAction($type)
 {
     $message = new EmailMessage('Test', sprintf('Test:test.%s', $type));
     $message->setId(-1);
     $template = sprintf('ForexEmailBundle:Test:test.%s.twig', $type);
     return $this->render($template, $this->getForexEmailSender()->serializeMessage($message));
 }
示例#3
0
 public function serializeMessage(EmailMessage $message)
 {
     // Make the email being sent to available to the templates
     $data = array_merge($message->getData(), array('to' => array(array('email' => $message->getEmail(), 'type' => 'to')), 'subject' => $message->getSubjectLine(), '_message_id' => $message->getId(), 'headers' => array()));
     $data['html'] = $this->templating->render(sprintf('ForexEmailBundle:%s.html.twig', $message->getTemplate()), $data);
     $data['text'] = $this->templating->render(sprintf('ForexEmailBundle:%s.text.twig', $message->getTemplate()), $data);
     $data['from_email'] = array_key_exists('from', $data) ? $data['from'] : '*****@*****.**';
     if ($message->getReplyTo()) {
         $data['headers']['Reply-To'] = $message->getReplyTo();
     }
     if ($message->getCcEmail()) {
         $data['to'][] = array('email' => $message->getCcEmail(), 'type' => 'cc');
     }
     if ($message->getBccEmail()) {
         $data['to'][] = array('email' => $message->getBccEmail(), 'type' => 'bcc');
     }
     return $data;
 }
示例#4
0
 private function persistMessage(EmailMessage $message)
 {
     $this->logger->debug(sprintf('EmailMessage - Creating Message - %s %s', $message->getTemplate(), $message->getJsonData()));
     $this->em->persist($message);
 }