Example #1
0
 /**
  * Lance l'envoie de mail
  *
  * @param Message $message
  * @return bool
  */
 public function send(Message $message)
 {
     $this->connection();
     $error = true;
     // SMTP command
     if ($this->username !== null) {
         $this->write('MAIL FROM: <' . $this->username . '>', 250);
     } else {
         if ($message->getFrom() !== null) {
             $this->write('MAIL FROM: <' . $message->getFrom() . '>', 250);
         }
     }
     foreach ($message->getTo() as $value) {
         $to = '';
         if ($value[0] !== null) {
             $to .= $value[0] . '<' . $value[1] . '>';
         } else {
             $to .= '<' . $value[1] . '>';
         }
         $this->write('RCPT TO: ' . $to, 250);
     }
     $this->write('DATA', 354);
     $data = 'Subject: ' . $message->getSubject() . Message::END;
     $data .= $message->compileHeaders();
     $data .= 'Content-Type: ' . $message->getType() . '; charset=' . $message->getCharset() . Message::END;
     $data .= 'Content-Transfer-Encoding: 8bit' . Message::END;
     $data .= Message::END . $message->getMessage() . Message::END;
     $this->write($data);
     try {
         $this->write('.', 250);
     } catch (SmtpException $e) {
         echo $e->getMessage();
     }
     $status = $this->disconnect();
     if ($status == 221) {
         $error = false;
     }
     return (bool) $error;
 }