public function sendMailConsumer(\PhpAmqpLib\Message\AMQPMessage $message) { $sendMail = json_decode($message->body); $latte = new Latte\Engine(); $sendMail->templateArr->email = $sendMail->to; $sendMail->templateArr->subject = $sendMail->subject; if (!is_null($sendMail->unsubscribeLink)) { $sendMail->templateArr->unsubscribeLink = $sendMail->unsubscribeLink; } $mail = new Nette\Mail\Message(); $mail->setFrom($sendMail->from)->addTo($sendMail->to)->setHtmlBody($latte->renderToString($this->config["appDir"] . $this->config['mailer']['templateDir'] . (is_null($sendMail->template) ? $this->config['mailer']['defaultTemplate'] : $sendMail->template), (array) $sendMail->templateArr)); if (!is_null($sendMail->unsubscribeEmail) || !is_null($sendMail->unsubscribeLink)) { $mail->setHeader('List-Unsubscribe', (!is_null($sendMail->unsubscribeEmail) ? '<mailto:' . $sendMail->unsubscribeEmail . '>' : '') . (!is_null($sendMail->unsubscribeEmail) && !is_null($sendMail->unsubscribeLink) ? ", " : "") . (!is_null($sendMail->unsubscribeLink) ? '<' . $sendMail->unsubscribeLink . '>' : ''), TRUE); } $mail->setSubject($sendMail->subject); try { $mailer = $this->emailFactory->getConnection($sendMail->connection); $mailer->send($mail); dump($sendMail->to); if ($sendMail->imapSave) { $this->saveToImap($mail->generateMessage(), is_null($sendMail->imapFolder) ? $this->config['imap']['sendFolder'] : $sendMail->imapFolder, $sendMail->imapConnection); } return TRUE; } catch (\Exception $e) { return FALSE; } }
protected function validateSender(Sender $sender) { if ($this->emailFactory->isConnection($sender->getConfigName())) { return $sender; } return NULL; }
/** * @param string $connection * @throws \Exception */ public function setConnection($connection) { $this->emailFactory->getConnection($connection); $this->connection = $connection; }