Advertisement
Guest User

Untitled

a guest
May 29th, 2015
362
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.63 KB | None | 0 0
  1. <?php
  2.  
  3. use Phalcon\Mvc\User\Component,
  4.     Phalcon\Mvc\View;
  5.  
  6. require __DIR__ . '/../../vendor/swiftmailer/swiftmailer/lib/swift_required.php';
  7.  
  8. class Mail extends Phalcon\Mvc\User\Component {
  9.     protected $_transport;
  10.  
  11.     public function send($to, $subject, $name, $params) {
  12.         $config = new Phalcon\Config\Adapter\Ini(__DIR__ . '/../config/config.ini');
  13.         $mailConfig = $config->mail;
  14.  
  15.         $template = $this->getTemplate($name, $params);
  16.         // Create the message
  17.         $message = Swift_Message::newInstance()
  18.             ->setSubject($subject)
  19.             ->setTo($to)
  20.             ->setFrom(array(
  21.                 $mailConfig->fromEmail => $mailConfig->fromName
  22.             ))
  23.             ->setBody($template, 'text/html');
  24.         if (!$this->_transport) {
  25.             $this->_transport = Swift_SmtpTransport::newInstance(
  26.                 $mailConfig->smtpServer,
  27.                 $mailConfig->smtpPort,
  28.                 $mailConfig->smtpSecurity
  29.             )
  30.             ->setUsername($mailConfig->smtpUsername)
  31.             ->setPassword($mailConfig->smtpPassword);
  32.         }
  33.         // Create the Mailer using your created Transport
  34.         $mailer = Swift_Mailer::newInstance($this->_transport);
  35.         $mailer->send($message);
  36.  
  37.     }
  38.     public function getTemplate($name, $params) {
  39.         $parameters = array_merge(array(
  40.             'publicUrl' => "website.com",
  41.         ), $params);
  42.         return $this->view->getRender('emailTemplates', $name, $parameters, function($view){
  43.             $view->setRenderLevel(View::LEVEL_LAYOUT);
  44.         });
  45.         return $view->getContent();
  46.     }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement