diff --git a/lib/mail.php b/lib/mail.php index 7ac743bfee..a5e9efded1 100644 --- a/lib/mail.php +++ b/lib/mail.php @@ -54,7 +54,7 @@ function mail_backend() $backend = $mail->factory(common_config('mail', 'backend'), common_config('mail', 'params') ?: array()); if ($_PEAR->isError($backend)) { - common_server_error($backend->getMessage(), 500); + throw new ServerException($backend->getMessage()); } } return $backend; @@ -71,6 +71,8 @@ function mail_backend() */ function mail_send($recipients, $headers, $body) { + global $_PEAR; + try { // XXX: use Mail_Queue... maybe $backend = mail_backend(); @@ -81,6 +83,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 ServerException($sent->getMessage()); + } return true; } catch (PEAR_Exception $e) { common_log(