/** * Sends e-mail. * @param Mail * @return void */ public function send(Mail $mail) { $tmp = clone $mail; $tmp->setHeader('Subject', NULL); $tmp->setHeader('To', NULL); $parts = explode(Mail::EOL . Mail::EOL, $tmp->generateMessage(), 2); Nette\Debug::tryError(); $res = mail(str_replace(Mail::EOL, PHP_EOL, $mail->getEncodedHeader('To')), str_replace(Mail::EOL, PHP_EOL, $mail->getEncodedHeader('Subject')), str_replace(Mail::EOL, PHP_EOL, $parts[1]), str_replace(Mail::EOL, PHP_EOL, $parts[0])); if (Nette\Debug::catchError($msg)) { throw new \InvalidStateException($msg); } elseif (!$res) { throw new \InvalidStateException('Unable to send email.'); } }
/** * Sends email. * @param Mail * @return void */ public function send(Mail $mail) { $data = $mail->generateMessage(); $this->connect(); $from = $mail->getHeader('From'); if ($from) { $from = array_keys($from); $this->write("MAIL FROM:<$from[0]>", 250); } $recipients = array_merge((array) $mail->getHeader('To'), (array) $mail->getHeader('Cc'), (array) $mail->getHeader('Bcc')); foreach ($recipients as $email => $name) { $this->write("RCPT TO:<$email>", array(250, 251)); } $this->write('DATA', 354); $data = preg_replace('#^\.#m', '..', $data); $this->write($data); $this->write('.', 250); $this->write('QUIT', 221); $this->disconnect(); }
protected function sendContactEmail($values) { $mail = new Mail; $mailConfig = Nette\Environment::getConfig('mail'); $mail->setFrom($values['email']); $mail->addTo($mailConfig->to); //load from config.ini // $mail->setSubject($mailConfig->subject); $mail->setBody($values['message']); $template = $this->createTemplate(); $template->setFile(APP_DIR . '/templates/emails/contact.latte'); $template->title = $mailConfig->subject; $template->values = $values; $mail->setHtmlBody($template); $mail->send(); $this->flashMessage('Správa bola odoslaná'); $this->redirect('this'); }