public function getErrors(Config $cfg) { $i18n = Localization::getTranslator(); $walletSettings = []; $emailSettings = []; $providerClass = ''; try { $provider = $cfg->getWalletProvider(); $providerClass = get_class($provider); $provider->verifyOwnership(); } catch (Exception $e) { if (strpos($providerClass, 'CoinbaseWallet') !== false) { $walletSettings[] = ['id' => '#wallet-coinbaseApiKey-error', 'error' => $e->getMessage()]; } else { $walletSettings[] = ['id' => '#wallet-id-error', 'error' => $e->getMessage()]; } } try { $t = new Swift_SmtpTransport('smtp.gmail.com', 465, 'ssl'); $t->setUsername($cfg->getEmailUsername())->setPassword($cfg->getEmailPassword())->start(); } catch (Exception $e) { $emailSettings[] = ['id' => '#email-username-error', 'error' => $e->getMessage()]; } $errors = []; if (!empty($pricingSettings)) { $errors['#pricing-settings'] = self::getPricingErrorsFromConfig($cfg); } if (!empty($walletSettings)) { $errors['#wallet-settings'] = $walletSettings; } if (!empty($emailSettings)) { $errors['#email-settings'] = $emailSettings; } return $errors; }
public function send() { $smtpTransport = new \Swift_SmtpTransport($this->spoolMailerParam('host'), $this->spoolMailerParam('port')); $smtpTransport->setUsername($this->spoolMailerParam('username')); $smtpTransport->setPassword($this->spoolMailerParam('password')); $this->spool->flushQueue($smtpTransport); }
/** * Initialize the component */ public function init() { $this->initAutoloader($this->swiftBasePath); $this->transport = Swift_SmtpTransport::newInstance($this->host, $this->port, $this->security); $this->transport->setUsername($this->username)->setPassword($this->password); parent::init(); }
public function testReport() { // Arrange. $transport = new \Swift_SmtpTransport(); $transport->setHost('mailtrap.io'); $transport->setPort(2525); $transport->setUsername(getenv('MAILTRAP_USERNAME')); $transport->setPassword(getenv('MAILTRAP_PASSWORD')); $mailer = new Swift_Mailer($transport); $message = new Swift_Message(); $message->addTo('*****@*****.**'); $message->setFrom('*****@*****.**'); $body = new Body(new VarCloner(), new CliDumper()); $compiler = new Compiler(new CommonMarkConverter(), new CssToInlineStyles()); $email = new Email($mailer, $message, $body, $compiler); $exception = new DomainException('Testing a domain exception'); $extra = ['only' => 'testing12321']; // Act. $email->report($exception, $extra); // Assert. $message = $this->mailtrap->get('inboxes/' . getenv('MAILTRAP_INBOX') . '/messages')->json()[0]; $this->assertSame('Exception: Testing a domain exception', $message['subject']); $this->assertContains('$email->report($exception, $extra);', $message['text_body']); $this->assertContains("exception 'DomainException' with message 'Testing a domain exception'", $message['text_body']); $this->assertContains('{main}', $message['text_body']); $this->assertContains('"only" => "testing12321"', $message['text_body']); $this->assertContains('_SERVER', $message['text_body']); }
protected function init($config = array()) { $transport = new \Swift_SmtpTransport($this->smtpHost, $this->smtpPort, $this->smtpSecure); $transport->setUsername($this->smtpUser); $transport->setPassword($this->smtpPassword); $this->mailer = new \Swift_Mailer($transport); return parent::init(); }
/** * Connect to Mail server * * @param array $config * @return boolean */ public function connect(array $config) { // Create the Transport $this->mailer = new \Swift_SmtpTransport($config['server'], $config['port'], sizeof($config['secure']) > 0 ? $config['secure'] : null); $this->mailer->setUsername($config['username']); $this->mailer->setPassword($config['password']); $this->mailer->start(); return $this->mailer->isStarted(); }
/** * Mailer constructor. * @param $configuration */ public function __construct($configuration) { $transport = new \Swift_SmtpTransport($configuration["host"], $configuration["port"]); $transport->setUsername($configuration["username"]); $transport->setPassword($configuration["password"]); $transport->setAuthMode($configuration["auth_mode"]); $transport->setEncryption($configuration["encryption"]); $this->mailer = new \Swift_Mailer($transport); $this->debugMail = isset($configuration["debug_email"]) ? $configuration["debug_email"] : null; }
function send_breakin_alert($email, $password) { $transporter = new Swift_SmtpTransport('smtp.gmail.com', 465, 'ssl'); $transporter->setUsername(''); $transporter->setPassword(''); $message = new Swift_Message($transporter); $message->setTo(array($email => $email)); $message->setSubject("Note to Myself - Break-in Attempt"); $message->addPart("Your password has been reset after 3 failed log-in attempts.</br>Your new password is <strong>{$password}</strong>", 'text/html'); $message->setFrom("", ""); $mailer = new Swift_Mailer($transporter); $mailer->send($message); }
/** * @param $from * @return \Swift_Mailer */ protected function __getSwiftMailer($from) { if (!isset($this->swiftMailers[$hash = md5(json_encode($from))])) { $transport = new \Swift_SmtpTransport(isset($from['smtpHost']) ? $from['smtpHost'] : '127.0.0.1', isset($from['smtpPort']) ? $from['smtpPort'] : 25, isset($from['smtpSecure']) ? $from['smtpSecure'] : false); if (isset($from['smtpUser'])) { $transport->setUsername($from['smtpUser']); } if (isset($from['smtpPassword'])) { $transport->setPassword($from['smtpPassword']); } $this->swiftMailers[$hash] = new \Swift_Mailer($transport); } return $this->swiftMailers[$hash]; }
/** * @param string|null $host * @param int|null $port * @param array|null $headers * @param string|null $username * @param string|null $password * @param string|null $security * @return CM_Mail_Mailer */ public function createSmtpMailer($host = null, $port = null, array $headers = null, $username = null, $password = null, $security = null) { $host = null !== $host ? (string) $host : 'localhost'; $port = null !== $port ? (int) $port : 25; $headers = null !== $headers ? (array) $headers : []; $security = null !== $security ? (string) $security : null; $transport = new Swift_SmtpTransport($host, $port, $security); if (null !== $username) { $transport->setUsername((string) $username); } if (null !== $password) { $transport->setPassword((string) $password); } return new CM_Mail_Mailer($transport, $headers); }
public function __construct() { // 设置邮件系统服务器、端口、加密方式以及用户账号信息 $this->transport = \Swift_SmtpTransport::newInstance($this->host, $this->port, $this->encryption)->setUsername($this->username)->setPassword($this->password); // 传入上面配置好的参数用以得到一个Swift_Mailer实例化对象 $this->mailer = \Swift_Mailer::newInstance($this->transport); }
public function register(Container $container) { $host = Config::get('mail.smtp.host'); $port = Config::get('mail.smtp.port'); $encryption = Config::get('mail.smtp.encryption'); $username = Config::get('mail.smtp.username'); $password = Config::get('mail.smtp.password'); // The Swift SMTP transport instance will allow us to use any SMTP backend // for delivering mail such as Sendgrid, Amazon SMS, or a custom server // a developer has available. We will just pass the configured host. $transport = SmtpTransport::newInstance($host, $port); if (isset($encryption)) { $transport->setEncryption($encryption); } // Once we have the transport we will check for the presence of a username // and password. If we have it we will set the credentials on the Swift // transporter instance so that we'll properly authenticate delivery. if (isset($username)) { $transport->setUsername($username); $transport->setPassword($password); } $mailer = new Mailer(new Swift_Mailer($transport)); $mailer->alwaysFrom(Config::get('mail.from.email'), Config::get('mail.from.name')); $container->mail = $mailer; }
function __construct() { // include swift mailer require ENGINE_PATH . 'swiftmailer/classes/Swift.php'; Swift::init(); Swift::registerAutoload(); //Yii::import('system.vendors.swiftMailer.classes.Swift', true); //Yii::registerAutoloader(array('Swift','autoload')); require_once ENGINE_PATH . 'swiftmailer/swift_init.php'; //Yii::import('system.vendors.swiftMailer.swift_init', true); switch ($this->params['transportType']) { case 'smtp': $transport = Swift_SmtpTransport::newInstance($this->params['smtpServer'], $this->params['smtpPort'], $this->params['smtpSequre'])->setUsername($this->params['smtpUsername'])->setPassword($this->params['smtpPassword']); break; case 'sendmail': $transport = Swift_SendmailTransport::newInstance($this->params['sendmailCommand']); break; default: case 'mail': $transport = Swift_MailTransport::newInstance(); break; } $this->toEmail = 'noreplay@' . $_SERVER['HTTP_HOST']; $this->fromEmail = 'noreplay@' . $_SERVER['HTTP_HOST']; $this->path = "http://" . $_SERVER['HTTP_HOST'] . "/submit/mailtpl/"; $this->mailer = Swift_Mailer::newInstance($transport); $this->mes = Swift_Message::newInstance(); }
/** * Create an object * * @param ContainerInterface $container * @param string $requestedName * @param null|array $options * @return object|\Swift_Mailer * @throws ServiceNotFoundException if unable to resolve the service. * @throws ServiceNotCreatedException if an exception is raised when * creating a service. * @throws ContainerException if any other error occurs */ public function __invoke(ContainerInterface $container, $requestedName, array $options = null) : \Swift_Mailer { $mailConfig = $container->get('config')['mail']; $smtp = $mailConfig['smtp']; $transport = \Swift_SmtpTransport::newInstance($smtp['server'], $smtp['port'], $smtp['ssl'])->setUsername($smtp['username'])->setPassword($smtp['password']); return new \Swift_Mailer($transport); }
public function respond(array $communication, \stdClass $msg) { $result = $this->generateResponse($communication); if (preg_match('/^\\s*re:/', $msg->subject)) { $subject = $msg->subject; } else { $subject = 'Re: ' . $msg->subject; } if (isset($this->config['name'])) { $from = array($this->config['email_address'] => $this->config['name']); } else { $from = array($this->config['email_address']); } $to = array($msg->from_email); if (isset($msg->headers->{'Message-Id'})) { $message_id = $msg->headers->{'Message-Id'}; } else { $message_id = false; } // TODO - set reply to id $transport = \Swift_SmtpTransport::newInstance('smtp.mandrillapp.com', 587); $transport->setUsername($this->config['mandrill_username']); $transport->setPassword($this->config['mandrill_password']); $swift = \Swift_Mailer::newInstance($transport); $message = new \Swift_Message($subject); $message->setFrom($from); $message->setBody($result); $message->setTo($to); $result = $swift->send($message); }
/** * Parse the configuration file * * @param array $parsedConfig */ private function loadConfig($parsedConfig) { if (isset($parsedConfig['moduleConf']['Type']) && $parsedConfig['moduleConf']['Type'] == "smtp") { $this->transport = \Swift_SmtpTransport::newInstance(); if (isset($parsedConfig['moduleConf']['Host']) && $parsedConfig['moduleConf']['Host'] != "") { $this->transport->setHost($parsedConfig['moduleConf']['Host']); } if (isset($parsedConfig['moduleConf']['Port']) && $parsedConfig['moduleConf']['Port'] != "") { $this->transport->setPort($parsedConfig['moduleConf']['Port']); } if (isset($parsedConfig['moduleConf']['Username']) && $parsedConfig['moduleConf']['Username'] != "") { $this->transport->setUsername($parsedConfig['moduleConf']['Username']); } if (isset($parsedConfig['moduleConf']['Password']) && $parsedConfig['moduleConf']['Password'] != "") { $this->transport->setPassword($parsedConfig['moduleConf']['Password']); } if (isset($parsedConfig['moduleConf']['Encryption']) && $parsedConfig['moduleConf']['Encryption'] != "") { $this->transport->setEncryption($parsedConfig['moduleConf']['Encryption']); } } elseif (isset($parsedConfig['moduleConf']['Type']) && $parsedConfig['moduleConf']['Type'] == "sendmail") { $this->transport = \Swift_SendmailTransport::newInstance('/usr/sbin/sendmail -bs'); } else { $this->transport = \Swift_MailTransport::newInstance(); } }
public function __construct($aConfigs = array()) { $this->sName = "Mail"; $this->sVersion = "1.0"; $sFileName = $this->getBasePath() . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'swiftmailer' . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'swift_required.php'; if (!file_exists($sFileName)) { return false; } require_once $sFileName; parent::__construct($aConfigs); $sMethod = isset($this->aConfigs['method']) ? $this->aConfigs['method'] : "mail"; if ($sMethod == "smtp") { $sPort = isset($this->aConfigs['port']) ? $this->aConfigs['port'] : 25; $mSecure = isset($this->aConfigs['authenticate']) ? $this->aConfigs['authenticate'] : "tls"; $sHost = isset($this->aConfigs['host']) ? $this->aConfigs['host'] : "localhost"; $sUserName = isset($this->aConfigs['user']) ? $this->aConfigs['user'] : ""; $sPassword = isset($this->aConfigs['password']) ? $this->aConfigs['password'] : ""; $transport = \Swift_SmtpTransport::newInstance($sHost, $sPort, $mSecure); $transport->setUserName($sUserName); $transport->setPassword($sPassword); } else { $transport = \Swift_MailTransport::newInstance(); } $this->oMailer = \Swift_Mailer::newInstance($transport); }
/** * Sends the digest */ public function send() { $lastMonths = new \DateTime(); $lastMonths->modify('-6 month'); $parameters = array('modified_at >= ?0 AND digest = "Y" AND notifications <> "N"', 'bind' => array($lastMonths->getTimestamp())); $users = array(); foreach (Users::find($parameters) as $user) { if ($user->email && strpos($user->email, '@') !== false && strpos($user->email, '@users.noreply.github.com') === false) { $users[trim($user->email)] = $user->name; } } $fromName = $this->config->mail->fromName; $fromEmail = $this->config->mail->fromEmail; $url = $this->config->site->url; $subject = 'Top Stories from Phosphorum ' . date('d/m/y'); $lastWeek = new \DateTime(); $lastWeek->modify('-1 week'); $order = 'number_views + ' . '((IF(votes_up IS NOT NULL, votes_up, 0) - ' . 'IF(votes_down IS NOT NULL, votes_down, 0)) * 4) + ' . 'number_replies + IF(accepted_answer = "Y", 10, 0) DESC'; $parameters = array('created_at >= ?0 AND deleted != 1 AND categories_id <> 4', 'bind' => array($lastWeek->getTimestamp()), 'order' => $order, 'limit' => 10); $e = $this->escaper; $content = '<html><head></head><body><p><h1 style="font-size:22px;color:#333;letter-spacing:-0.5px;line-height:1.25;font-weight:normal;padding:16px 0;border-bottom:1px solid #e2e2e2">Top Stories from Phosphorum</h1></p>'; foreach (Posts::find($parameters) as $post) { $user = $post->user; if ($user == false) { continue; } $content .= '<p><a style="text-decoration:none;display:block;font-size:20px;color:#333;letter-spacing:-0.5px;line-height:1.25;font-weight:normal;color:#155fad" href="' . $url . '/discussion/' . $post->id . '/' . $post->slug . '">' . $e->escapeHtml($post->title) . '</a></p>'; $content .= '<p><table width="100%"><td><table><tr><td>' . '<img src="https://secure.gravatar.com/avatar/' . $user->gravatar_id . '?s=32&r=pg&d=identicon" width="32" height="32" alt="' . $user->name . ' icon">' . '</td><td><a style="text-decoration:none;color:#155fad" href="' . $url . '/user/' . $user->id . '/' . $user->login . '">' . $user->name . '<br><span style="text-decoration:none;color:#999;text-decoration:none">' . $user->getHumanKarma() . '</span></a></td></tr></table></td><td align="right"><table style="border: 1px solid #dadada;" cellspacing=5>' . '<td align="center"><label style="color:#999;margin:0px;font-weight:normal;">Created</label><br>' . $post->getHumanCreatedAt() . '</td>' . '<td align="center"><label style="color:#999;margin:0px;font-weight:normal;">Replies</label><br>' . $post->number_replies . '</td>' . '<td align="center"><label style="color:#999;margin:0px;font-weight:normal;">Views</label><br>' . $post->number_views . '</td>' . '<td align="center"><label style="color:#999;margin:0px;font-weight:normal;">Votes</label><br>' . ($post->votes_up - $post->votes_down) . '</td>' . '</tr></table></td></tr></table></p>'; $content .= $this->markdown->render($e->escapeHtml($post->content)); $content .= '<p><a style="color:#155fad" href="' . $url . '/discussion/' . $post->id . '/' . $post->slug . '">Read more</a></p>'; $content .= '<hr style="border: 1px solid #dadada">'; } $textContent = strip_tags($content); $htmlContent = $content . '<p style="font-size:small;-webkit-text-size-adjust:none;color:#717171;">'; $htmlContent .= PHP_EOL . 'This email was sent by Phalcon Framework. Change your e-mail preferences <a href="' . $url . '/settings">here</a></p>'; foreach ($users as $email => $name) { try { $message = new \Swift_Message('[Phalcon Forum] ' . $subject); $message->setTo(array($email => $name)); $message->setFrom(array($fromEmail => $fromName)); $bodyMessage = new \Swift_MimePart($htmlContent, 'text/html'); $bodyMessage->setCharset('UTF-8'); $message->attach($bodyMessage); $bodyMessage = new \Swift_MimePart($textContent, 'text/plain'); $bodyMessage->setCharset('UTF-8'); $message->attach($bodyMessage); if (!$this->transport) { $this->transport = \Swift_SmtpTransport::newInstance($this->config->smtp->host, $this->config->smtp->port, $this->config->smtp->security); $this->transport->setUsername($this->config->smtp->username); $this->transport->setPassword($this->config->smtp->password); } if (!$this->mailer) { $this->mailer = \Swift_Mailer::newInstance($this->transport); } $this->mailer->send($message); } catch (\Exception $e) { echo $e->getMessage(), PHP_EOL; } } }
/** * Base constructor. * In the base constructor the bridge gets the mailer configuration. * * @param ConfigObject $config The base configuration. * * @throws SwiftMailerException */ public function __construct($config) { $this->config = $config; $transportType = strtolower($config->get('Transport.Type', 'mail')); $disableDelivery = $config->get('DisableDelivery', false); if ($disableDelivery) { $transportType = 'null'; } // create Transport instance switch ($transportType) { case 'smtp': $transport = \Swift_SmtpTransport::newInstance($config->get('Transport.Host', 'localhost'), $config->get('Transport.Port', 25), $config->get('Transport.AuthMode', null)); $transport->setUsername($config->get('Transport.Username', '')); $transport->setPassword($config->get('Transport.Password', '')); $transport->setEncryption($config->get('Transport.Encryption', null)); break; case 'mail': $transport = \Swift_MailTransport::newInstance(); break; case 'sendmail': $transport = \Swift_SendmailTransport::newInstance($config->get('Transport.Command', '/usr/sbin/sendmail -bs')); break; case 'null': $transport = \Swift_NullTransport::newInstance(); break; default: throw new SwiftMailerException('Invalid transport.type provided. Supported types are [smtp, mail, sendmail, null].'); break; } // create Mailer instance $this->mailer = \Swift_Mailer::newInstance($transport); // register plugins $this->registerPlugins($config); }
public function EnviarCorreoConfirmacionTransaccion($nombre, $email, $id_transaccion) { //echo "Enviando Correos"; //ini_set('max_execution_time', 28800); //240 segundos = 4 minutos //Enviar correo electr�nico $url = base_url(); $transport = Swift_SmtpTransport::newInstance()->setHost('smtp.gmail.com')->setPort(465)->setEncryption('ssl')->setUsername('*****@*****.**')->setPassword('passsword'); //Create the Mailer using your created Transport $mailer = Swift_Mailer::newInstance($transport); //$this->load->model("Solicitud_model", "solicitud"); //$query = $this->solicitud->getAlumnosCorreo(); //Pass it as a parameter when you create the message $message = Swift_Message::newInstance(); //Give the message a subject //Or set it after like this $message->setSubject('Confirmacion Transaccion Agencia'); //no_reply@ugto.mx $message->setFrom(array('*****@*****.**' => 'Agencia')); $message->addTo($email); //$message->addTo('*****@*****.**'); //$message->addBcc('*****@*****.**'); //Add alternative parts with addPart() $failedRecipients = array(); $message->addPart("<h2>Gracias por su preferencia, </h2>" . $nombre . "\n <br>\n <h3>Su transaccion ha sido realizada con éxito.</h3>\n <br>\n No. Transaccion: " . $id_transaccion . "<br>\n ---<br>\n ", 'text/html'); if (!$mailer->send($message)) { return FALSE; } return TRUE; }
public function sendAppointmentNotif($lead) { $transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl') ->setUsername('*****@*****.**') ->setPassword('rocketman88') ; $mailer = Swift_Mailer::newInstance($transport); $body = "Howdy! \n\n" . "A new appointment request has been recorded. \n". "Below are the details: \n\n". "Preferred Date: ".$lead['date']."\n". "Preferred Time: ".$lead['time']."\n". "Name: ".$lead['fname']." ".$lead['lname']."\n". "Email: ".$lead['email']."\n". "Contact Number: ".$lead['contact']."\n". "Present Country: ".$lead['country']."\n". "Nationality: ".$lead['nationality']."\n". "Unit Interested in: ".$lead['unit']."\n". "Notes: ".$lead['notes']."\n\n". "This message was generated at DMCI Leasing Website."; $message = Swift_Message::newInstance('New Appointment Request Submitted in Leasing Website') ->setFrom(array('*****@*****.**' => 'DMCI Leasing Webmaster')) ->setTo(array('*****@*****.**' => 'DMCI Leasing Services')) ->setBcc(array('*****@*****.**', '*****@*****.**', '*****@*****.**')) ->setBody($body) ; $result = $mailer->send($message); return $result; }
public static function createFromConfig(ConfigInterface $config) { $transport = $config->get('mailer_transport'); $host = $config->get('mailer_host'); $port = $config->get('mailer_port'); // 25 or 465 (smtp) $username = $config->get('mailer_username'); $password = $config->get('mailer_password'); $authMode = $config->get('mailer_auth_mode'); $encryption = $config->get('mailer_encryption'); if ($transport == 'gmail') { $transport = 'smtp'; $host = 'smtp.gmail.com'; $authMode = 'login'; $encryption = 'ssl'; $port = 465; } $port = $port ? $port : 25; if ($transport == 'smtp') { $transport = \Swift_SmtpTransport::newInstance($host, $port)->setUsername($username)->setPassword($password); } elseif ($transport == 'mail') { $transport = \Swift_MailTransport::newInstance(); } elseif ($transport == 'null') { $transport = \Swift_NullTransport::newInstance(); } else { throw new \RuntimeException(sprintf('Unable to construct a transport of type "%s"', $transport)); } return \Swift_Mailer::newInstance($transport); }
/** * Sends the given message. * * The return value is the number of recipients who were accepted for * delivery. * * @param \Swift_Mime_Message $message * @param array $failedRecipients An array of failures by-reference * * @return int The number of recipients who were accepted for delivery * @throws \Exception */ public function send(\Swift_Mime_Message $message, &$failedRecipients = null) { $result = 0; // start a transport if needed $needToStopRealTransport = false; if (!$this->getTransport()->isStarted()) { $this->getTransport()->start(); $needToStopRealTransport = true; } // send a mail $sendException = null; try { if ($this->smtpTransport) { $result = $this->smtpTransport->send($message, $failedRecipients); } else { $result = parent::send($message, $failedRecipients); } } catch (\Exception $unexpectedEx) { $sendException = $unexpectedEx; } // stop a transport if it was started before if ($needToStopRealTransport) { try { $this->getTransport()->stop(); } catch (\Exception $ex) { // ignore errors here } } // rethrow send failure if ($sendException) { throw $sendException; } return $result; }
public static function send() { $transport = \Swift_SmtpTransport::newInstance('smtp.mail.ru', 465, 'ssl')->setUsername('*****@*****.**')->setPassword(''); $mailer = \Swift_Mailer::newInstance($transport); $messages = \Swift_Message::newInstance('Wonderful Subject')->setFrom('*****@*****.**')->setTo(['*****@*****.**' => 'Работа'])->setContentType("text/html; charset=UTF-8")->setBody('Тестовое сообщение о БД', 'text/html'); $result = $mailer->send($messages); }
/** * Send email using swift api. * * @param $body * @param $recipients * @param $from * @param $subject */ public function sendEmail($body, $recipients, $from, $subject) { $config = Zend_Registry::get('config'); $failures = ''; Swift_Preferences::getInstance()->setCharset('UTF-8'); //Create the Transport $transport = Swift_SmtpTransport::newInstance($config->mail->server->name, $config->mail->server->port, $config->mail->server->security)->setUsername($config->mail->username)->setPassword($config->mail->password); $mailer = Swift_Mailer::newInstance($transport); $message = Swift_Message::newInstance(); $headers = $message->getHeaders(); $headers->addTextHeader("signed-by", Constant::EMAIL_DOMAIN); //Give the message a subject $message->setSubject($subject); //Set the From address with an associative array $message->setFrom($from); //Set the To addresses with an associative array $message->setTo($recipients); //Give it a body $message->setBody($body); $message->setContentType("text/html"); //Send the message $myresult = $mailer->batchSend($message); if ($myresult) { return null; } else { return Constant::EMAIL_FAIL_MESSAGE; } }
public function action_profile() { $user_id = (int) base64_decode($this->request->param('id')); if ($user_id) { $user_id = $user_id - 1337; $backto = base64_decode($this->request->post('backto')); if ('POST' === $this->request->method() && strlen($this->request->post('comment')) >= 1) { try { $values = array('content' => $this->request->post('comment'), 'user_id' => $user_id, 'author_id' => $this->user->id, 'created' => date('Y-m-d H:i:s')); $comment = ORM::factory('User_Profile_Comment')->values($values, array_keys($values))->save(); if ($comment->saved()) { // inform? $receiver = ORM::factory('User', $user_id); if ($receiver->loaded() && $receiver->details->notify_wall) { // SWIFTMAILER MAGIC $swc = (object) Kohana::$config->load('smtp.default'); $transport = Swift_SmtpTransport::newInstance($swc->host, $swc->port, $swc->ssl ? 'ssl' : null)->setUsername($swc->user)->setPassword($swc->password); $mailer = Swift_Mailer::newInstance($transport); $body = $swc->body_notify_wall; $body = str_replace('%USERNAME%', $receiver->username, $body); $body = str_replace('%FROM%', $this->user->username, $body); $message = Swift_Message::newInstance($this->user->username . ' ' . __('hat dein Profil bei ' . $this->project_config->project_name . ' kommentiert'))->setFrom($swc->from)->setTo(array($receiver->email))->setBody($body, 'text/html'); $mailer->send($message); } } } catch (ORM_Validation_Exception $e) { // shi... } } $this->redirect('user/show/' . $backto); } $this->redirect('/'); }
/** * Creates a SwiftMailer instance. * * @param string DSN connection string * @return object Swift object */ public static function connect($config = NULL) { // Load default configuration $config === NULL and $config = Kohana::$config->load('email'); switch ($config['driver']) { case 'smtp': // Set port $port = empty($config['options']['port']) ? 25 : (int) $config['options']['port']; // Create SMTP Transport $transport = Swift_SmtpTransport::newInstance($config['options']['hostname'], $port); if (!empty($config['options']['encryption'])) { // Set encryption $transport->setEncryption($config['options']['encryption']); } // Do authentication, if part of the DSN empty($config['options']['username']) or $transport->setUsername($config['options']['username']); empty($config['options']['password']) or $transport->setPassword($config['options']['password']); // Set the timeout to 5 seconds $transport->setTimeout(empty($config['options']['timeout']) ? 5 : (int) $config['options']['timeout']); break; case 'sendmail': // Create a sendmail connection $transport = Swift_SendmailTransport::newInstance(empty($config['options']) ? "/usr/sbin/sendmail -bs" : $config['options']); break; default: // Use the native connection $transport = Swift_MailTransport::newInstance(); break; } // Create the SwiftMailer instance return self::$_mail = Swift_Mailer::newInstance($transport); }
public function notifyAction() { $id = 1; $settings = R::load('settings', $id); $time_before = c::now()->modify('+' . $settings->time_before)->toDateString(); $transport = \Swift_SmtpTransport::newInstance($settings->mail_host, $settings->mail_port)->setUsername($settings->mail_username)->setPassword($settings->mail_password); $mailer = \Swift_Mailer::newInstance($transport); $client = new \Services_Twilio($settings->twilio_sid, $settings->twilio_token); $recepients = R::findAll('recepients'); $events = R::find("events", "is_enabled = 1 AND date = '{$time_before}'"); foreach ($events as $event) { foreach ($recepients as $recepient) { $subject = preg_replace(array('/{title}/', '/{date}/'), array($event->title, $event->date), $settings->subject); $end_date = c::parse($event->date)->modify('+' . $event->days . ' days')->toDateString(); $body_patterns = array('/{name}/', '/{title}/', '/{start_date}/', '/<!(\\w+) ({\\w+})>/'); $body_replacements = array($settings->name, $event->title, $event->date, "\$1 {$end_date}"); if ($event->days == 1) { $body_replacements[3] = ''; } $body = preg_replace($body_patterns, $body_replacements, $settings->msg_template); if ($recepient->email && $settings->mail_username && $settings->mail_password) { $message = \Swift_Message::newInstance()->setSubject($subject)->setBody($body)->setFrom(array($settings->email => $settings->name))->setTo(array($recepient->email => $recepient->name)); try { $response = $mailer->send($message); } catch (\Exception $e) { //todo: log error } } else { if ($recepient->phone_number && $settings->twilio_sid && $settings->twilio_token && $settings->twilio_phonenumber) { $message = $client->account->messages->sendMessage($settings->twilio_phonenumber, $recepient->phone_number, $body); } } } } }
/** * Class constructor. * Load all data from configurations and generate the initial clases * to manage the email * * @param string Content type for message body. It usually text/plain or text/html. * Default is 'text/plain' but can be changed later */ public function __construct($content_type = 'text/plain') { $config = RMFunctions::configs(); $config_handler =& xoops_gethandler('config'); $xconfig = $config_handler->getConfigsByCat(XOOPS_CONF_MAILER); // Instantiate the Swit Transport according to our preferences // We can change this preferences later switch ($config['transport']) { case 'mail': $this->swTransport = Swift_MailTransport::newInstance(); break; case 'smtp': $this->swTransport = Swift_SmtpTransport::newInstance($config['smtp_server'], $config['smtp_port'], $config['smtp_crypt'] != 'none' ? $config['smtp_crypt'] : ''); $this->swTransport->setUsername($config['smtp_user']); $this->swTransport->setPassword($config['smtp_pass']); break; case 'sendmail': $this->swTransport = Swift_SendmailTransport::newInstance($config['sendmail_path']); break; } // Create the message object // Also this object could be change later with message() method $this->swMessage = Swift_Message::newInstance(); $this->swMessage->setReplyTo($xconfig['from']); $this->swMessage->setFrom(array($xconfig['from'] => $xconfig['fromname'])); $this->swMessage->setContentType($content_type); }
public function action_request() { $id = (int) base64_decode($this->request->param('id')); $friendship = false; if ($id && $id != $this->user->id) { $friendship = ORM::factory('Friends')->setFriendship($this->user->id, $id); } if ($friendship) { $to = ORM::factory('User')->where('id', '=', $id)->find(); // notify! if ($to->loaded() && $to->details->notify_friendship) { // SWIFTMAILER MAGIC $swc = (object) Kohana::$config->load('smtp.default'); $transport = Swift_SmtpTransport::newInstance($swc->host, $swc->port, $swc->ssl ? 'ssl' : null)->setUsername($swc->user)->setPassword($swc->password); $mailer = Swift_Mailer::newInstance($transport); $body = $swc->body_friendship; $body = str_replace('%TO%', $to->username, $body); $body = str_replace('%FROM%', $this->user->username, $body); $message = Swift_Message::newInstance(__($this->user->username . ' möchte dein Freund auf ' . $this->project_config->project_name . ' werden'))->setFrom($swc->from)->setTo(array($to->email))->setBody($body, 'text/html'); $result = $mailer->send($message); } $this->redirect('/user/show/' . ORM::factory('User')->getUsername($id)); } else { $this->redirect('/user/show/' . ORM::factory('User')->getUsername($id)); } }