Example #1
0
 /**
  * Send a HTML email
  *
  * @access public
  * @param  string  $email
  * @param  string  $name
  * @param  string  $subject
  * @param  string  $html
  */
 public function send($email, $name, $subject, $html)
 {
     $this->container['logger']->debug('Sending email to ' . $email . ' (' . MAIL_TRANSPORT . ')');
     $start_time = microtime(true);
     $author = 'Kanboard';
     if (Session::isOpen() && $this->userSession->isLogged()) {
         $author = e('%s via Kanboard', $this->user->getFullname($this->session['user']));
     }
     switch (MAIL_TRANSPORT) {
         case 'sendgrid':
             $this->sendgrid->sendEmail($email, $name, $subject, $html, $author);
             break;
         case 'mailgun':
             $this->mailgun->sendEmail($email, $name, $subject, $html, $author);
             break;
         case 'postmark':
             $this->postmark->sendEmail($email, $name, $subject, $html, $author);
             break;
         default:
             $this->smtp->sendEmail($email, $name, $subject, $html, $author);
     }
     $this->container['logger']->debug('Email sent in ' . round(microtime(true) - $start_time, 6) . ' seconds');
 }