/** Funkcia pre odoslanie emailu * @param array $params Parametre správy * @param string $subjekt Subjekt emailu * @return string Zoznam komu bol odoslany email * @throws SendException */ public function send($params, $subjekt) { $templ = new Latte\Engine(); $this->mail->setFrom($params["site_name"] . ' <' . $this->from . '>'); $this->mail->setSubject($subjekt)->setHtmlBody($templ->renderToString($this->template, $params)); try { $sendmail = new SendmailMailer(); $sendmail->send($this->mail); return $this->email_list; } catch (Exception $e) { throw new SendException('Došlo k chybe pri odosielaní e-mailu. Skúste neskôr znovu...' . $e->getMessage()); } }
/** * Vytvoří novou zprávu jakožto objekt \Nette\Mail\Message. * @see \Nette\Mail\Message * @param string|array $to Příjemce zprávy. Víc příjemců může být předáno jako pole. * @param string $subject Předmět zprávy. * @param string $message Předmět zprávy, nastavuje se přes setHtmlBody, tudíž lze předat výstup šablony. */ public function createMessage($to, $subject, $message) { $this->message = new \Nette\Mail\Message(); $this->message->setFrom($this->from); if (is_array($to)) { foreach ($to as $recipient) { $this->message->addTo($recipient); } } else { $this->message->addTo($to); } $this->message->setSubject($subject); $this->message->setHtmlBody($message); }
/** * Callback method, that is called once form is successfully submitted, without validation errors. * * @param Form $form * @param Nette\Utils\ArrayHash $values */ public function formSucceeded(Form $form, $values) { if (!($user = $this->userRepository->findOneBy(['email' => $values->email]))) { $form['email']->addError("User with given email doesn't exist"); return; } // this is not a very secure way of getting new password // but it's the same way the symfony app is doing it... $newPassword = $user->generateRandomPassword(); $this->em->flush(); try { $message = new Nette\Mail\Message(); $message->setSubject('Notejam password'); $message->setFrom('*****@*****.**'); $message->addTo($user->getEmail()); // !!! Never send passwords through email !!! // This is only for demonstration purposes of Notejam. // Ideally, you can create a unique link where user can change his password // himself for limited amount of time, and then send the link. $message->setBody("Your new password is {$newPassword}"); $this->mailer->send($message); } catch (Nette\Mail\SendException $e) { Debugger::log($e, 'email'); $form->addError('Could not send email with new password'); } $this->onSuccess($this); }
/** * @param string $user * @param string $name * @param string $type * @param string $action * @param mixed[] $templateArgs */ public function send($user, $name, $type, $action, array $templateArgs = array()) { $presenter = $this->createPresenter(); $request = $this->getRequest($type, $action); $response = $presenter->run($request); $presenter->template->user = $user; $presenter->template->name = $name; foreach ($templateArgs as $key => $val) { $presenter->template->{$key} = $val; } if (!$response instanceof TextResponse) { throw new InvalidArgumentException(sprintf('Type \'%s\' does not exist.', $type)); } try { $data = (string) $response->getSource(); } catch (\Nette\Application\BadRequestException $e) { if (Strings::startsWith($e->getMessage(), 'Page not found. Missing template')) { throw new InvalidArgumentException(sprintf('Type \'%s\' does not exist.', $type)); } } $message = new Message(); $message->setHtmlBody($data); $message->setSubject(ucfirst($action)); $message->setFrom($this->senderEmail, $this->senderName ?: null); $message->addTo($user, $name); $this->mailer->send($message); }
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; } }
/** * Callback for ForgottenPasswordForm onSuccess event. * @param Form $form * @param ArrayHash $values */ public function formSucceeded(Form $form, $values) { $user = $this->userManager->findByEmail($values->email); if (!$user) { $form->addError('No user with given email found'); return; } $password = Nette\Utils\Random::generate(10); $this->userManager->setNewPassword($user->id, $password); try { // !!! Never send passwords through email !!! // This is only for demonstration purposes of Notejam. // Ideally, you can create a unique link where user can change his password // himself for limited amount of time, and then send the link. $mail = new Nette\Mail\Message(); $mail->setFrom('*****@*****.**', 'Notejamapp'); $mail->addTo($user->email); $mail->setSubject('New notejam password'); $mail->setBody(sprintf('Your new password: %s', $password)); $this->mailer->send($mail); } catch (Nette\Mail\SendException $e) { Debugger::log($e, Debugger::EXCEPTION); $form->addError('Could not send email with new password'); } }
/** * @param string $subject */ public function setSubject($subject) { try { $this->message->setSubject($subject); } catch (\Exception $e) { throw new MailerException($e->getMessage()); } }
/** * 发送邮件 */ public function mail() { $mail = new Message(); $mail->addTo("*****@*****.**"); $mail->setSubject("hello world"); $mailer = new \Nette\Mail\SmtpMailer(require BASE_PATH . "/config/mail.php"); $mailer->send($mail); }
public function generateMessage(Reciever $reciever, ContentConfig $contentConfig) { $message = new Message(); $message->setFrom($this->sender->getEmail(), $this->sender->getName()); $message->setBody($contentConfig->getContent($reciever)); $message->setSubject($contentConfig->getSubject()); $message->addTo($reciever->getEmail(), $reciever->getFullName()); $message->addBcc($this->sender->getEmail()); foreach ($contentConfig->getAttachments() as $attachment) { $message->addAttachment($attachment); } return $message; }
private function sendMail($values) { $mail = new Message(); $mail->setSubject('Nová zpráva z kontaktního formuláře'); $mail->setFrom($values['email'], $values['name']); $mail->addTo('*****@*****.**', 'Feedback form'); $template = $this->createTemplate(); $template->setFile(__DIR__ . '/templates/Mail.phtml'); $template->name = $values['name']; $template->email = $values['email']; $template->text = $values['text']; $mail->setHtmlBody($template); $mailer = new SendmailMailer(); $mailer->send($mail); }
/** * Send mail by calling a single method - as you often don't need more... * * @param string|array $recipients * @param string $subject * @param string $body * @param string|NULL $sender * @return void * @throws SendException */ public function sendMail($recipients, $subject, $body, $sender = NULL) { $mail = new Message(); if ($sender !== NULL) { $mail->setFrom($sender); } $mail->setSubject($subject)->setBody($body); if (!is_array($recipients)) { $recipients = [$recipients]; } foreach ($recipients as $rcpt) { $mail->addTo($rcpt); } $mailer = $this->mailer; $mailer->send($mail); }
/** * @param array $templateParameters * @return Nette\Mail\Message */ public function toMessage($templateParameters = []) { $latte = $this->latteFactory instanceof Nette\Bridges\ApplicationLatte\ILatteFactory ? $this->latteFactory->create() : new Latte\Engine(); $latte->setLoader(new Latte\Loaders\StringLoader()); $htmlBody = $latte->renderToString($this->template, $templateParameters); $mail = new Nette\Mail\Message(); $mail->setFrom($this->from); $mail->setSubject($this->subject); $mail->setHtmlBody($htmlBody); if ($this->cc !== NULL) { foreach ($this->cc as $cc) { $mail->addCc($cc); } } if ($this->bcc !== NULL) { foreach ($this->bcc as $bcc) { $mail->addBcc($bcc); } } return $mail; }
/** * Notify an humean on email * * @param $subject * @param $message * @param array $data */ public function mailNotify($subject, $message, $data = array()) { $table = "<table>\n"; foreach ($data as $key => $value) { try { $value = (string) $value; } catch (\Exception $e) { $value = "<i>hodnota není text</i>"; } $table .= "<tr><th>{$key}</th><td>{$value}</td></tr>\n"; } $table .= "</table>\n"; $message = "<p>{$message}</p>\n\n"; if (count($data)) { $message .= "<p>Tabulka dat:</p>\n{$table}"; } $mail = new Nette\Mail\Message(); $mail->setSubject($subject); $mail->setHtmlBody($message); $mail->addTo(self::NOTIFY_EMAIL_ADDRESS); $mailer = new Nette\Mail\SendmailMailer(); $mailer->send($mail); }
function setSubject($args) { $this->Message->setSubject($args); }
private function sendTicket($ticket) { $event = $ticket->event; $message = "<p>Děkujeme o Váš zájem, zde je Vaše vstupenka, můžete si ji vytisknout nebo připravit do mobilního telefonu.</p>\n" . "<img src=\"http://hudebnisos.cz/content/ticket/" . $event->id . ".jpg\" width=\"600\" />\n" . "<p>Vaše vstupenka má originální číslo <b>" . $ticket->id . "</b>.</p><br/><br/>\n" . "<p><a href=\"http://hudebnisos.cz/event/show/" . $event->id . "\">odkaz na akci " . $event->name . "</p>\n" . "<p><a href=\"http://hudebnisos.cz/\">www.hudebnisos.cz</a></p>\n"; $mail = new Nette\Mail\Message(); $mail->setSubject('SOS Vstupenka - ' . $event->name); $mail->setHtmlBody($message); $mail->addTo($ticket->email); $mailer = new Nette\Mail\SendmailMailer(); $mailer->send($mail); }
/** * Funkce pro odeslání potvrzovacího e-mailu po registraci uživatele * @param User $user */ public function sendRegistrationMail(User $user) { $mail = new Message(); $mail->setFrom('*****@*****.**'); //TODO tady by měla bát nějaká rozumná adresa $mail->addTo($user->email); $mail->setSubject('Registrace na webu...'); $mail->setHtmlBody('<p>Byli jste úspěšně zaregistrováni, pro přihlášení využijte e-mail <strong>' . $user->email . '</strong></p>'); $mailer = new SendmailMailer(); $mailer->send($mail); }
public function setSubject($subject) { $this->subject = $subject; return parent::setSubject($subject); }
/** * Handle message delivery. * * @return bool */ public static function sendMail() { // Allow support for legacy argument style or new style. $args = func_get_args(); if (func_num_args() == 1) { $options = $args[0]; } else { $options = array_merge(array('to' => $args[0], 'subject' => $args[1], 'message' => $args[2], 'reply_to' => $args[3], 'delivery_date' => $args[4]), $args[5]); } $di = \Phalcon\Di::getDefault(); $config = $di->get('config'); $mail_config = $config->application->mail->toArray(); // Do not deliver mail on development environments. if (DF_APPLICATION_ENV == "development" && !defined('DF_FORCE_EMAIL')) { $email_to = $mail_config['from_addr']; if (!empty($email_to)) { $options['to'] = $email_to; } else { return false; } } if (isset($mail_config['use_smtp']) && $mail_config['use_smtp']) { $smtp_config = $config->apis->smtp->toArray(); $smtp_config['host'] = $smtp_config['server']; unset($smtp_config['server']); $transport = new SmtpMailer($smtp_config); } else { $transport = new SendmailMailer(); } if (!is_array($options['to'])) { $options['to'] = array($options['to']); } else { $options['to'] = array_unique($options['to']); } foreach ((array) $options['to'] as $mail_to_addr) { if (empty($mail_to_addr)) { continue; } $mail_to_addr = str_replace('mailto:', '', $mail_to_addr); $mail = new Message(); $mail->setSubject($options['subject']); $from_addr = isset($options['from']) ? $options['from'] : $mail_config['from_addr']; $from_name = isset($options['from_name']) ? $options['from_name'] : $mail_config['from_name']; $mail->setFrom($from_addr, $from_name); if (isset($mail_config['bounce_addr'])) { $mail->setReturnPath($mail_config['bounce_addr']); } /* // Include a specific "Direct replies to" header if specified. if ($options['reply_to'] && $validator->isValid($options['reply_to'])) $mail->setReplyTo($options['reply_to']); else if (isset($mail_config['reply_to']) && $mail_config['reply_to']) $mail->setReplyTo($mail_config['reply_to']); */ // Change the type of the e-mail's body if specified in the options. if (isset($options['text_only']) && $options['text_only']) { $mail->setBody(strip_tags($options['message'])); } else { $mail->setHtmlBody($options['message'], false); } // Add attachment if specified in options. if (isset($options['attachments'])) { foreach ((array) $options['attachments'] as $attachment) { $mail->addAttachment($attachment); } } /* // Modify the mail type if specified. if (isset($options['type'])) $mail->setType($options['type']); */ // Catch invalid e-mails. try { $mail->addTo($mail_to_addr); } catch (\Nette\Utils\AssertionException $e) { continue; } $transport->send($mail); } return true; }
function send(Email $email) { $data = $email->get(); $mail = new Nette\Mail\Message(); $mail->setFrom($data->from, $data->fromName)->addReplyTo($data->replyTo, $data->replyToName)->addTo($data->to, $data->toName)->setHtmlBody($data->content); foreach ($data->attachments as $v) { call_user_func_array([$mail, 'addAttachment'], $v); } if (isset($data->unsubscribeEmail) || isset($data->unsubscribeLink)) { $mail->setHeader('List-Unsubscribe', (isset($data->unsubscribeEmail) ? '<mailto:' . $data->unsubscribeEmail . '>' : '') . (isset($data->unsubscribeEmail) && isset($data->unsubscribeLink) ? ", " : "") . (isset($data->unsubscribeLink) ? '<' . $data->unsubscribeLink . '>' : ''), TRUE); } $mail->setSubject($this->subjectPrefix . $data->subject); $this->mailer->send($mail); }