X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fmail.php;h=da22eb6715a1b2c333ae0cf60f6271f513e373f5;hb=67a9c0415c395d92adeb784413bb9a88fba7347f;hp=188792d02a0511fab7493318435a05604a8bb50a;hpb=c6b1b3e5e3ad1c47c7bd25b5bcfb0a8cb1cb2bb5;p=quix0rs-gnu-social.git diff --git a/lib/mail.php b/lib/mail.php index 188792d02a..da22eb6715 100644 --- a/lib/mail.php +++ b/lib/mail.php @@ -30,9 +30,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} +if (!defined('GNUSOCIAL')) { exit(1); } require_once 'Mail.php'; @@ -47,12 +45,14 @@ require_once 'Mail.php'; function mail_backend() { static $backend = null; + global $_PEAR; if (!$backend) { - $backend = Mail::factory(common_config('mail', 'backend'), + $mail = new Mail(); + $backend = $mail->factory(common_config('mail', 'backend'), common_config('mail', 'params') ?: array()); - if (PEAR::isError($backend)) { - common_server_error($backend->getMessage(), 500); + if ($_PEAR->isError($backend)) { + throw new EmailException($backend->getMessage(), $backend->getCode()); } } return $backend; @@ -69,6 +69,8 @@ function mail_backend() */ function mail_send($recipients, $headers, $body) { + global $_PEAR; + try { // XXX: use Mail_Queue... maybe $backend = mail_backend(); @@ -79,6 +81,9 @@ function mail_send($recipients, $headers, $body) assert($backend); // throws an error if it's bad $sent = $backend->send($recipients, $headers, $body); + if ($_PEAR->isError($sent)) { + throw new EmailException($sent->getMessage(), $sent->getCode()); + } return true; } catch (PEAR_Exception $e) { common_log(