Better error handling when the email subsystem isn't working. The
installer was dying trying to send a confirmation email to the initial user.
This commit is contained in:
parent
0bd26ed3f0
commit
dcbf2f6871
13
lib/mail.php
13
lib/mail.php
@ -71,18 +71,25 @@ function mail_backend()
|
|||||||
*/
|
*/
|
||||||
function mail_send($recipients, $headers, $body)
|
function mail_send($recipients, $headers, $body)
|
||||||
{
|
{
|
||||||
|
try {
|
||||||
// XXX: use Mail_Queue... maybe
|
// XXX: use Mail_Queue... maybe
|
||||||
$backend = mail_backend();
|
$backend = mail_backend();
|
||||||
|
|
||||||
if (!isset($headers['Content-Type'])) {
|
if (!isset($headers['Content-Type'])) {
|
||||||
$headers['Content-Type'] = 'text/plain; charset=UTF-8';
|
$headers['Content-Type'] = 'text/plain; charset=UTF-8';
|
||||||
}
|
}
|
||||||
|
|
||||||
assert($backend); // throws an error if it's bad
|
assert($backend); // throws an error if it's bad
|
||||||
$sent = $backend->send($recipients, $headers, $body);
|
$sent = $backend->send($recipients, $headers, $body);
|
||||||
if (PEAR::isError($sent)) {
|
return true;
|
||||||
common_log(LOG_ERR, 'Email error: ' . $sent->getMessage());
|
} catch (PEAR_Exception $e) {
|
||||||
|
common_log(
|
||||||
|
LOG_ERR,
|
||||||
|
"Unable to send email - '{$e->getMessage()}'. "
|
||||||
|
. 'Is your mail subsystem set up correctly?'
|
||||||
|
);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user