function _user_mail_notify

Same name in other branches
  1. 9 core/modules/user/user.module \_user_mail_notify()
  2. 8.9.x core/modules/user/user.module \_user_mail_notify()
  3. 10 core/modules/user/user.module \_user_mail_notify()
  4. 11.x core/modules/user/user.module \_user_mail_notify()

Conditionally create and send a notification email when a certain operation happens on the given user account.

Parameters

$op: The operation being performed on the account. Possible values:

  • 'register_admin_created': Welcome message for user created by the admin.
  • 'register_no_approval_required': Welcome message when user self-registers.
  • 'register_pending_approval': Welcome message, user pending admin approval.
  • 'password_reset': Password recovery request.
  • 'status_activated': Account activated.
  • 'status_blocked': Account blocked.
  • 'cancel_confirm': Account cancellation request.
  • 'status_canceled': Account canceled.

$account: The user object of the account being notified. Must contain at least the fields 'uid', 'name', and 'mail'.

$language: Optional language to use for the notification, overriding account language.

Return value

The return value from drupal_mail_system()->mail(), if ends up being called.

See also

user_mail_tokens()

drupal_mail()

5 calls to _user_mail_notify()
user_cancel_confirm_form_submit in modules/user/user.pages.inc
Submit handler for the account cancellation confirm form.
user_pass_submit in modules/user/user.pages.inc
Form submission handler for user_pass().
user_register_submit in modules/user/user.module
Submit handler for the user registration form.
user_save in modules/user/user.module
Save changes to a user account or add a new user.
_user_cancel in modules/user/user.module
Implements callback_batch_operation().

File

modules/user/user.module, line 3669

Code

function _user_mail_notify($op, $account, $language = NULL) {
    // By default, we always notify except for canceled and blocked.
    $default_notify = $op != 'status_canceled' && $op != 'status_blocked';
    $notify = variable_get('user_mail_' . $op . '_notify', $default_notify);
    if ($notify) {
        $params['account'] = $account;
        $language = $language ? $language : user_preferred_language($account);
        $mail = drupal_mail('user', $op, $account->mail, $language, $params);
        if ($op == 'register_pending_approval') {
            // If a user registered requiring admin approval, notify the admin, too.
            // We use the site default language for this.
            drupal_mail('user', 'register_pending_approval_admin', variable_get('site_mail', ini_get('sendmail_from')), language_default(), $params);
        }
    }
    return empty($mail) ? NULL : $mail['result'];
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.