getMessage() public method

Get the Message being sent.
public getMessage ( ) : Swift_Mime_Message
return Swift_Mime_Message
示例#1
0
 /**
  * @param \Swift_Events_SendEvent $evt
  */
 public function beforeSendPerformed(\Swift_Events_SendEvent $evt)
 {
     $message = $evt->getMessage();
     $this->convert($message);
     $children = $message->getChildren();
     array_walk($children, array($this, 'convert'));
 }
  /**
   * Invoked immediately before the Message is sent.
   *
   * @param Swift_Events_SendEvent $evt
   */
  public function beforeSendPerformed(Swift_Events_SendEvent $evt)
  {
    $this->messages[] = $message = clone $evt->getMessage();

    $to = null === $message->getTo() ? '' : implode(', ', array_keys($message->getTo()));

    $this->dispatcher->notify(new sfEvent($this, 'application.log', array(sprintf('Sending email "%s" to "%s"', $message->getSubject(), $to))));
  }
示例#3
0
 public function sendPerformed(\Swift_Events_SendEvent $event)
 {
     // If this was sent through SES, retrieve the data
     if (config('mail.driver') == 'ses') {
         $message = $event->getMessage();
         $this->updateSesMessageId($message);
     }
 }
 /**
  * Gestion des messages apres leur envoi
  * @param  Swift_Events_SendEvent  $event [description]
  * @return [type]        [description]
  */
 public function sendPerformed(\Swift_Events_SendEvent $evt)
 {
     if ($evt->getResult() === \Swift_Events_SendEvent::RESULT_SUCCESS && $this->enabled == true) {
         // Création de l'activity
         $activity = $this->createActivity($evt->getMessage());
         $this->dm->persist($activity);
         $this->dm->flush();
     }
 }
 /**
  * {@inheritdoc}
  */
 public function beforeSendPerformed(\Swift_Events_SendEvent $event)
 {
     $message = $event->getMessage();
     if (!$this->isEnabled() || !$message instanceof \Swift_Message || in_array($message->getId(), $this->performed)) {
         return;
     }
     $signature = new \Swift_Signers_DKIMSigner($this->getPrivateKey(), $this->domain, $this->selector);
     $message->attachSigner($signature);
     $this->performed[] = $message->getId();
 }
 /**
  * Invoked immediately after the Message is sent.
  *
  * @param Swift_Events_SendEvent $evt
  */
 public function sendPerformed(Swift_Events_SendEvent $evt)
 {
     $message = $evt->getMessage();
     // restore original headers
     $headers = $message->getHeaders();
     if ($headers->has('X-Swift-Return-Path')) {
         $message->setReturnPath($headers->get('X-Swift-Return-Path')->getAddress());
         $headers->removeAll('X-Swift-Return-Path');
     }
 }
 /**
  * @param \Swift_Events_SendEvent $evt
  */
 public function beforeSendPerformed(\Swift_Events_SendEvent $evt)
 {
     $message = $evt->getMessage();
     if ($message->getContentType() === 'text/html' || $message->getContentType() === 'multipart/alternative' && $message->getBody() || $message->getContentType() === 'multipart/mixed' && $message->getBody()) {
         $message->setBody($this->converter->convert($message->getBody(), $this->css));
     }
     foreach ($message->getChildren() as $part) {
         if (strpos($part->getContentType(), 'text/html') === 0) {
             $part->setBody($this->converter->convert($part->getBody(), $this->css));
         }
     }
 }
 /**
  * Invoked immediately after the Message is sent.
  *
  * @param \Swift_Events_SendEvent $evt
  */
 public function sendPerformed(\Swift_Events_SendEvent $evt)
 {
     $result = $evt->getResult();
     $failed_recipients = $evt->getFailedRecipients();
     $message = $evt->getMessage();
     if ($result === \Swift_Events_SendEvent::RESULT_SUCCESS) {
         $level = $this->levels['sendPerformed.SUCCESS'];
     } else {
         $level = $this->levels['sendPerformed.NOT_SUCCESS'];
     }
     $this->log($level, 'MESSAGE (sendPerformed): ', array('result' => $result, 'failed_recipients' => $failed_recipients, 'message' => $message->toString()));
 }
示例#9
0
 /**
  * Inline the CSS before an email is sent.
  *
  * @param \Swift_Events_SendEvent $evt
  */
 public function beforeSendPerformed(\Swift_Events_SendEvent $evt)
 {
     $message = $evt->getMessage();
     $properTypes = ['text/html', 'multipart/alternative', 'multipart/mixed'];
     if ($message->getBody() && in_array($message->getContentType(), $properTypes)) {
         $this->inliner->setHtml($message->getBody());
         $message->setBody($this->inliner->emogrify());
     }
     foreach ($message->getChildren() as $part) {
         if (strpos($part->getContentType(), 'text/html') === 0) {
             $this->inliner->setHtml($part->getBody());
             $message->setBody($this->inliner->emogrify());
         }
     }
 }
 /**
  * @param Swift_Events_SendEvent $evt
  */
 public function beforeSendPerformed(\Swift_Events_SendEvent $evt)
 {
     $message = $evt->getMessage();
     $converter = new CssToInlineStyles();
     $converter->setEncoding($message->getCharset());
     $converter->setUseInlineStylesBlock();
     $converter->setCleanup();
     if ($message->getContentType() === 'text/html' || $message->getContentType() === 'multipart/alternative' && $message->getBody() || $message->getContentType() === 'multipart/mixed' && $message->getBody()) {
         $converter->setHTML($message->getBody());
         $message->setBody($converter->convert());
     }
     foreach ($message->getChildren() as $part) {
         if (strpos($part->getContentType(), 'text/html') === 0) {
             $converter->setHTML($part->getBody());
             $part->setBody($converter->convert());
         }
     }
 }
 /**
  * {@inheritdoc}
  */
 public function beforeSendPerformed(\Swift_Events_SendEvent $event)
 {
     $message = $event->getMessage();
     if (!$this->isEnabled() || !$message instanceof \Swift_Message || in_array($message->getId(), $this->performed) || null === $message->getBody()) {
         return;
     }
     $dom = new \DOMDocument('1.0', 'utf-8');
     $internalErrors = libxml_use_internal_errors(true);
     $dom->loadHTML($message->getBody());
     libxml_use_internal_errors($internalErrors);
     $xpath = new \DOMXPath($dom);
     $nodes = $xpath->query('//img/@src');
     $images = array();
     foreach ($nodes as $node) {
         $this->embedImage($message, $node, $images);
     }
     $message->setBody($dom->saveHTML(), 'text/html');
     $this->performed[] = $message->getId();
 }
 /**
  * Invoked immediately after the Message is sent.
  *
  * @param Swift_Events_SendEvent $evt
  */
 public function sendPerformed(Swift_Events_SendEvent $evt)
 {
     $message = $evt->getMessage();
     $message->toByteStream($this);
 }
 /**
  * Invoked immediately before the Message is sent.
  *
  * @param \Swift_Events_SendEvent $event
  */
 public function beforeSendPerformed(\Swift_Events_SendEvent $event)
 {
     $event->getMessage()->setFrom($this->address, $this->name);
 }
示例#14
0
 /**
  * Called just before Swift sends a message.
  * We perform operations on the message here.
  * @param Swift_Events_SendEvent The event object for sending a message
  */
 public function beforeSendPerformed(Swift_Events_SendEvent $e)
 {
     $message = $e->getMessage();
     $this->recursiveRestore($message, $this->store);
     //3.3.3 bugfix
     $recipients = $e->getRecipients();
     $to = array_keys($recipients->getTo());
     if (count($to) > 0) {
         $to = $to[0];
     } else {
         return;
     }
     $replacements = (array) $this->replacements->getReplacementsFor($to);
     $this->store = array("headers" => array(), "body" => false, "children" => array());
     $this->recursiveReplace($message, $replacements, $this->store);
 }
 public function testMultiArray()
 {
     $transport = \Swift_MailTransport::newInstance();
     $message = \Swift_Message::newInstance('Wonderful Subject')->setFrom(array('*****@*****.**' => 'John Doe'))->setTo(array('*****@*****.**', '*****@*****.**'));
     $message->setBody('Here is the message itself');
     $oLooseAttachment = \Swift_Attachment::newInstance('this an none-test document', 'Invoice-2011-848.txt', 'plain/text');
     $message->attach($oLooseAttachment);
     $sendEvent = new \Swift_Events_SendEvent($transport, $message);
     $replacements = array('*****@*****.**' => array(\Swift_Attachment::newInstance('this an test document', 'Invoice-2011-4342.txt', 'plain/text')), '*****@*****.**' => array(\Swift_Attachment::newInstance('this an none-test document', 'Invoice-2011-8480.txt', 'plain/text'), array('data' => 'this an none-test2 document', 'filename' => 'Invoice-2011-8580.txt')));
     $mailDecorator = new AttachmentDecorator($replacements);
     foreach ($replacements as $email => $msgReplacements) {
         $sendEvent->getMessage()->setTo($email);
         $mailDecorator->beforeSendPerformed($sendEvent);
         $message = $sendEvent->getMessage();
         $this->assertEquals('Here is the message itself', trim($message->getBody()));
         $children = (array) $message->getChildren();
         $attachments = array();
         foreach ($children as $child) {
             if (\Swift_Mime_MimeEntity::LEVEL_MIXED === $child->getNestingLevel() && 'Invoice-2011-848.txt' == $child->getFilename()) {
                 continue;
             }
             if (\Swift_Mime_MimeEntity::LEVEL_MIXED === $child->getNestingLevel()) {
                 $attachments[] = $child;
             }
         }
         $this->assertEquals($attachments, $attachments);
         $mailDecorator->sendPerformed($sendEvent);
         $children = (array) $message->getChildren();
         // Check to make sure the original Attachment is still there
         foreach ($children as $child) {
             if (\Swift_Mime_MimeEntity::LEVEL_MIXED === $child->getNestingLevel()) {
                 $this->assertEquals($oLooseAttachment->toString(), $child->toString());
             }
         }
     }
 }
 public function beforeSendPerformed(Swift_Events_SendEvent $event)
 {
     $this->logger->add(sprintf("Sending Mail:\n %s\n", $event->getMessage()));
 }
 /**
  * {@inheritdoc}
  */
 public function sendPerformed(\Swift_Events_SendEvent $evt)
 {
     $contents = $this->findAll();
     $contents[] = $evt->getMessage();
     file_put_contents($this->filename, serialize($contents));
 }
 /**
  * Invoked immediately after the Message is sent.
  *
  * @param \Swift_Events_SendEvent $sendEvent
  */
 public function sendPerformed(\Swift_Events_SendEvent $sendEvent)
 {
     $this->restoreMessage($sendEvent->getMessage());
 }
示例#19
0
 /**
  * Invoked immediately before the Message is sent.
  *
  * @param \Swift_Events_SendEvent $evt
  */
 public function beforeSendPerformed(\Swift_Events_SendEvent $evt)
 {
     $this->sendEvent = new TimerEvent('email.send');
     $data = ['headers' => $evt->getMessage()->getHeaders()->toString(), 'subject' => $evt->getMessage()->getSubject(), 'size' => strlen($evt->getMessage()->toString())];
     $this->sendEvent->addData($data);
 }
 /**
  * Apply whitelist and blacklist to "to", "cc" and "bcc"
  *
  * @param Swift_Events_SendEvent $evt
  */
 public function beforeSendPerformed(\Swift_Events_SendEvent $evt)
 {
     $message = $evt->getMessage();
     $modifier = $this->modifier;
     $modifier($message);
 }
示例#21
0
 /**
  * Swift's SendEvent listener.
  * Invoked when Swift sends a message
  * @param Swift_Events_SendEvent The event information
  * @throws Swift_ConnectionException If mail() returns false
  */
 public function sendPerformed(Swift_Events_SendEvent $e)
 {
     $message = $e->getMessage();
     $recipients = $e->getRecipients();
     $to = array();
     foreach ($recipients->getTo() as $addr) {
         if ($this->isWindows()) {
             $to[] = substr($addr->build(true), 1, -1);
         } else {
             $to[] = $addr->build();
         }
     }
     $to = implode(", ", $to);
     $bcc_orig = $message->headers->has("Bcc") ? $message->headers->get("Bcc") : null;
     $subject_orig = $message->headers->has("Subject") ? $message->headers->get("Subject") : null;
     $to_orig = $message->headers->has("To") ? $message->headers->get("To") : null;
     $bcc = array();
     foreach ($recipients->getBcc() as $addr) {
         $bcc[] = $addr->build();
     }
     if (!empty($bcc)) {
         $message->headers->set("Bcc", $bcc);
     }
     $bcc = null;
     $body_data = $message->buildData();
     $message_body = $body_data->readFull();
     $subject_enc = $message->headers->has("Subject") ? $message->headers->getEncoded("Subject") : "";
     $message->headers->set("To", null);
     $message->headers->set("Subject", null);
     $sender = $e->getSender();
     $this->returnPath = $sender->build();
     if ($message->headers->has("Return-Path")) {
         $this->returnPath = $message->headers->get("Return-Path");
     }
     if (preg_match("~<([^>]+)>[^>]*\$~", $this->returnPath, $matches)) {
         $this->returnPath = $matches[1];
     }
     $this->doMail($to, $subject_enc, $message_body, $message->headers, sprintf($this->getAdditionalParams(), $this->returnPath));
     $message->setLE($this->oldLE);
     $message->headers->set("To", $to_orig);
     $message->headers->set("Subject", $subject_orig);
     $message->headers->set("Bcc", $bcc_orig);
 }
示例#22
0
 /**
  * Swift's BeforeSendListener required method.
  * Runs just before Swift sends a message.  Here is where we do all the replacements.
  * @param Swift_Events_SendEvent
  */
 public function beforeSendPerformed(Swift_Events_SendEvent $e)
 {
     $this->message = $e->getMessage();
     foreach ($this->message->listChildren() as $id) {
         $part = $this->message->getChild($id);
         $body = $part->getData();
         if (!is_string($body) || substr(strtolower($part->getContentType()), 0, 5) != "text/") {
             continue;
         }
         foreach ($this->definitions as $tag_name => $def) {
             if ($this->getEmbedRemoteFiles()) {
                 $re = $this->getRemoteFilePattern($tag_name);
                 $body = preg_replace_callback($re, array($this, "embedRemoteFile"), $body);
             }
             if ($this->getEmbedLocalFiles()) {
                 $re = $this->getLocalFilePattern($tag_name);
                 $body = preg_replace_callback($re, array($this, "embedLocalFile"), $body);
             }
         }
         $part->setData($body);
     }
 }
示例#23
0
 /**
  * Called just after Swift sends a message.
  * We restore the message here.
  * @param Swift_Events_SendEvent The event object for sending a message
  */
 public function sendPerformed(Swift_Events_SendEvent $e)
 {
     $message = $e->getMessage();
     $this->recursiveRestore($message, $this->store);
     $this->store = null;
 }
示例#24
0
 /**
  * Invoked immediately after the Message is sent.
  *
  * @param Swift_Events_SendEvent $evt
  */
 public function sendPerformed(Swift_Events_SendEvent $evt)
 {
     $this->_restoreMessage($evt->getMessage());
 }
示例#25
0
 /**
  * Invoked immediately before the Message is sent.
  *
  * @param Swift_Events_SendEvent $evt
  */
 public function beforeSendPerformed(Swift_Events_SendEvent $evt)
 {
     $this->messages[] = clone $evt->getMessage();
 }
    public function testAttachedHTML()
    {
        $templating = $this->getTwigInstance();
        $transport = \Swift_MailTransport::newInstance();
        $message = \Swift_Message::newInstance('Wonderful Subject')->setFrom(array('*****@*****.**' => 'John Doe'))->setTo(array('*****@*****.**', '*****@*****.**'));
        $message->attach(\Swift_Attachment::fromPath(__DIR__ . '/Fixtures/TestMsg2.twig', 'text/html'));
        $sendEvent = new \Swift_Events_SendEvent($transport, $message);
        $replacements = array('*****@*****.**' => array('name' => 'John', 'gender' => 'Sir', 'date' => '2010-08-25 15:28', 'lang' => 'en', 'date2' => 'Wednesday, August 25, 2010 3:28 PM'), '*****@*****.**' => array('name' => 'Piet', 'gender' => 'Heer', 'date' => '2010-08-25 14:28', 'lang' => 'nl', 'date2' => 'woensdag 25 augustus 2010 14:28'));
        $mailDecorator = new TemplateDecorator($templating, $replacements, array('html' => 'TestMsg2.twig'));
        foreach ($replacements as $sEmail => $msgReplacements) {
            $sendEvent->getMessage()->setTo($sEmail);
            $mailDecorator->beforeSendPerformed($sendEvent);
            $message = $sendEvent->getMessage();
            $children = (array) $message->getChildren();
            foreach ($children as $child) {
                if ('text/html' == $child->getContentType() && \Swift_Mime_MimeEntity::LEVEL_ALTERNATIVE === $child->getNestingLevel()) {
                    $this->assertEquals('<p>Geachte ' . $msgReplacements['gender'] . ' ' . $msgReplacements['name'] . ',</p><p>Currentdate: ' . $msgReplacements['date2'] . '</p>', $child->getBody());
                } elseif ('text/html' == $child->getContentType() && \Swift_Mime_MimeEntity::LEVEL_MIXED === $child->getNestingLevel()) {
                    $headers = $child->getHeaders();
                    if ($headers->has('Content-Disposition')) {
                        $orig = 'Content-Type: text/html; name=TestMsg2.twig
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=TestMsg2.twig

PHA+R2VhY2h0ZSB7eyBnZW5kZXIgfX0ge3sgbmFtZSB9fSw8L3A+PHA+Q3VycmVudGRhdGU6IHt7
IGRhdGUgfCBsb2NhbGl6ZWRkYXRlKCAnZnVsbCcsICdzaG9ydCcsIGxhbmcgKSB9fTwvcD4=';
                        // The $orig does not have \r (since this file is UNIX encoded)
                        $sChild = str_replace("\r", '', trim($child->toString()));
                        $this->assertEquals($orig, $sChild);
                    }
                }
            }
            $mailDecorator->sendPerformed($sendEvent);
        }
    }
示例#27
-1
 /**
  * Invoked immediately after the Message is sent.
  * @param Swift_Events_SendEvent $evt
  */
 public function sendPerformed(Swift_Events_SendEvent $evt)
 {
   $message = $evt->getMessage();
   $failures = array_flip($evt->getFailedRecipients());
   foreach ((array) $message->getTo() as $address => $null)
   {
     $this->_reporter->notify(
       $message, $address, (array_key_exists($address, $failures)
       ? Swift_Plugins_Reporter::RESULT_FAIL
       : Swift_Plugins_Reporter::RESULT_PASS)
       );
   }
   foreach ((array) $message->getCc() as $address => $null)
   {
     $this->_reporter->notify(
       $message, $address, (array_key_exists($address, $failures)
       ? Swift_Plugins_Reporter::RESULT_FAIL
       : Swift_Plugins_Reporter::RESULT_PASS)
       );
   }
   foreach ((array) $message->getBcc() as $address => $null)
   {
     $this->_reporter->notify(
       $message, $address, (array_key_exists($address, $failures)
       ? Swift_Plugins_Reporter::RESULT_FAIL
       : Swift_Plugins_Reporter::RESULT_PASS)
       );
   }
 }