_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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 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.