_user_mail_notify($op, $account, $langcode = NULL)
Conditionally create and send a notification email when a certain operation happens on the given user account.
Parameters
string $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.
\Drupal\Core\Session\AccountInterface $account: The user object of the account being notified. Must contain at least the fields 'uid', 'name', and 'mail'.
string $langcode: (optional) Language code to use for the notification, overriding account language.
Return value
array An array containing various information about the message. See \Drupal\Core\Mail\MailManagerInterface::mail() for details.
See also
File
- core/modules/user/user.module, line 1199
- Enables the user registration and login system.
Code
function _user_mail_notify($op, $account, $langcode = NULL) { if (\Drupal::config('user.settings')->get('notify.' . $op)) { $params['account'] = $account; $langcode = $langcode ? $langcode : $account->getPreferredLangcode(); // Get the custom site notification email to use as the from email address // if it has been set. $site_mail = \Drupal::config('system.site')->get('mail_notification'); // If the custom site notification email has not been set, we use the site // default for this. if (empty($site_mail)) { $site_mail = \Drupal::config('system.site')->get('mail'); } if (empty($site_mail)) { $site_mail = ini_get('sendmail_from'); } $mail = \Drupal::service('plugin.manager.mail')->mail('user', $op, $account->getEmail(), $langcode, $params, $site_mail); 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::service('plugin.manager.mail')->mail('user', 'register_pending_approval_admin', $site_mail, \Drupal::languageManager()->getDefaultLanguage()->getId(), $params); } } return empty($mail) ? NULL : $mail['result']; }
Please login to continue.