require_once('Mail.php');
function mail_backend() {
- static $backend = NULL;
-
+ static $backend = NULL;
+
if (!$backend) {
global $config;
$backend = Mail::factory($config['mail']['backend'],
assert($backend); # throws an error if it's bad
$sent = $backend->send($recipients, $headers, $body);
if (PEAR::isError($sent)) {
- common_server_error($sent->getMessage(), 500);
+ common_log(LOG_ERROR, 'Email error: ' . $sent->getMessage());
+ return false;
}
+ return true;
}
function mail_notify_from() {
if ($config['mail']['notifyfrom']) {
return $config['mail']['notifyfrom'];
} else {
- return 'Do Not Reply <nobody@'.$config['site']['server'].'>';
+ return $config['site']['name'] . ' <noreply@'.$config['site']['server'].'>';
+ }
+}
+
+function mail_to_user(&$user, $subject, $body, $address=NULL) {
+ if (!$address) {
+ $address = $user->email;
}
+
+ $recipients = $address;
+ $profile = $user->getProfile();
+
+ $headers['From'] = mail_notify_from();
+ $headers['To'] = $profile->getBestName() . ' <' . $address . '>';
+ $headers['Subject'] = $subject;
+
+ return mail_send($recipients, $headers, $body);
+}
+
+# For confirming a Jabber address
+# XXX: change to use mail_to_user() above
+
+function mail_confirm_address($code, $nickname, $address) {
+ $recipients = $address;
+ $headers['From'] = mail_notify_from();
+ $headers['To'] = $nickname . ' <' . $address . '>';
+ $headers['Subject'] = _t('Email address confirmation');
+
+ $body = "Hey, $nickname.";
+ $body .= "\n\n";
+ $body .= 'Someone just entered this email address on ' . common_config('site', 'name') . '.';
+ $body .= "\n\n";
+ $body .= 'If it was you, and you want to confirm your entry, use the URL below:';
+ $body .= "\n\n";
+ $body .= "\t".common_local_url('confirmaddress',
+ array('code' => $code));
+ $body .= "\n\n";
+ $body .= 'If not, just ignore this message.';
+ $body .= "\n\n";
+ $body .= 'Thanks for your time, ';
+ $body .= "\n";
+ $body .= common_config('site', 'name');
+ $body .= "\n";
+
+ mail_send($recipients, $headers, $body);
}
-
\ No newline at end of file