public static function instance() { $args = func_get_args(); $userOptions = array(); if (count($args) > 0) { $userOptions = $args[0]; } if (self::$_instance === null) { $options = array(); if (isset(Bbx_Config::get()->site->smtp_username)) { $options = array('auth' => 'login', 'username' => Bbx_Config::get()->site->smtp_username, 'password' => Bbx_Config::get()->site->smtp_password); } if (isset(Bbx_Config::get()->site->smtp_port)) { $options['port'] = Bbx_Config::get()->site->smtp_port; } if (isset(Bbx_Config::get()->site->smtp_ssl)) { $options['ssl'] = Bbx_Config::get()->site->smtp_ssl; } $port = array_key_exists('port', $options) ? $options['port'] : 25; $options = array_merge($options, $userOptions); $transport = new Zend_Mail_Transport_Smtp(Bbx_Config::get()->site->smtp_server, $options); Zend_Mail::setDefaultTransport($transport); self::$_instance = new Bbx_Mail(); } return self::$_instance; }
public function notify(Exception $e) { if (isset(Bbx_Config::get()->site->support_address) && APPLICATION_ENV != 'development') { try { $mail = Bbx_Mail::instance(); $mail->setFrom('error@' . Bbx_Config::get()->site->location, Bbx_Config::get()->site->location); $mail->setBodyText($this->getRequest()->getRequestUri() . "\n\n" . $e->getMessage()); $mail->addTo(Bbx_Config::get()->site->support_address); $mail->setSubject('Error at ' . Bbx_Config::get()->site->location); $mail->sendAsync(); } catch (Exception $exc) { Bbx_Log::debug(print_r($e, true)); Bbx_Log::debug("Couldn't send mail: " . $exc->getMessage()); } } else { Bbx_Log::debug(print_r($e, true)); } }
<?php require 'init.php'; $mail = Bbx_Mail::instance(); $mail->setFrom((string) $argv[1])->setBodyText((string) $argv[3])->setSubject((string) $argv[4]); foreach (explode(',', (string) $argv[2]) as $to) { $mail->addTo($to); } try { $mail->send(); } catch (Exception $e) { Bbx_Log::write("Couldn't send mail: " . $e->getMessage()); }