Example #1
0
 /**
  * {@inheritDoc}
  */
 public function send(EmailEntity $email)
 {
     $time = time();
     $message = $this->buildMessage($email);
     $result = $this->mandrill->messages->send($message);
     $result = array_shift($result);
     $email->setStatus($result['status']);
     $email->setSent($time);
     $email->setUpdated($time);
     $this->mapper->update($email);
     return [$email, $result];
 }
 /**
  * {@inheritDoc}
  */
 public function send(EmailEntity $email)
 {
     $time = time();
     $message = $this->buildMessage($email);
     // Get domain from the "from" address
     if (!preg_match('/@(.+)$/', $email->getSenderEmail(), $matches)) {
         throw new \Exception("Invalid from address: {$email->getSenderEmail()}");
     }
     $domain = $matches[1];
     $result = $this->mailgun->sendMessage($domain, $message);
     $email->setStatus($result->http_response_code === 200 ? 'sent' : 'error');
     $email->setSent($time);
     $email->setUpdated($time);
     $this->mapper->update($email);
     return [$email, $result];
 }