コード例 #1
0
 /**
  * Constructs a single string from the email body and headers.
  *
  * @param string         $body
  * @param EmailInterface $email
  * @return string
  */
 protected function buildMessage($body, EmailInterface $email)
 {
     $message = "To: " . $email->getTo() . "\r\n";
     $message .= "Subject: " . $email->getSubject() . "\r\n";
     $message .= $this->buildHeaders($email) . "\r\n";
     $message .= $body;
     return $message;
 }
コード例 #2
0
 /**
  * Invoke the Emailer's ::doSend method.
  *
  * @param EmailInterface $email
  * @return boolean
  */
 public function send(EmailInterface $email)
 {
     foreach ($this->writers as $writer) {
         $content = $email->accept($writer);
         if ($content !== null) {
             return $this->doSend($content, $email);
         }
     }
     throw new \RuntimeException("No visit method for " . get_class($email) . " found among writers.");
 }
コード例 #3
0
ファイル: Emailer.php プロジェクト: AthensFramework/sendgrid
 /**
  * @param string         $body
  * @param EmailInterface $email
  * @return boolean
  */
 protected function doSend($body, EmailInterface $email)
 {
     /** @var SendGridEmail $sendgridEmail */
     $sendgridEmail = new SendGridEmail();
     $sendgridEmail->addTo($email->getTo())->setFrom($email->getFrom())->setSubject($email->getSubject())->addCc($email->getCc())->setBcc($email->getBcc())->setHtml($body);
     /** @var Response $res */
     $res = static::getSendGrid()->send($sendgridEmail);
     return $res->getCode() === 200;
 }
コード例 #4
0
ファイル: EmailWriter.php プロジェクト: AthensFramework/core
 /**
  * Render an email message into an email body, given its template.
  *
  * @param EmailInterface $email
  * @return string
  */
 public function visitEmail(EmailInterface $email)
 {
     $template = "email/{$email->getType()}.twig";
     return $this->loadTemplate($template)->render(["id" => $email->getId(), "classes" => $email->getClasses(), "data" => $email->getData(), "message" => $email->getMessage()]);
 }
コード例 #5
0
ファイル: PhpEmailer.php プロジェクト: AthensFramework/core
 /**
  * @param string         $body
  * @param EmailInterface $email
  * @return boolean
  */
 protected function doSend($body, EmailInterface $email)
 {
     return mail($email->getTo(), $email->getSubject(), $body, $this->buildHeaders($email));
 }