Deshabilitar la notificación de registro de correo electrónico

20

Hice una investigación profunda en la web y también probé muchas soluciones alternativas, pero no encontré ninguna solución para desactivar la notificación por correo electrónico para los nuevos usuarios.

En mi Configuración de usuario, tengo marcada la opción "Los visitantes pueden crear cuentas pero se requiere la aprobación del administrador", y la opción "Requerir verificación por correo electrónico cuando un visitante crea una cuenta" no está marcada.

¿Tienes alguna idea?

lnunesbr
fuente

Respuestas:

32

Si observa la función _user_email_notify () , verifica la variable 'user_mail_' . $op . '_notify'si debe enviar un correo electrónico o no. Suponiendo que ha deshabilitado la confirmación por correo electrónico (de lo contrario, deshabilitar las notificaciones por correo sería extraño;)), el $ op es 'register_no_approval_required'. Entonces el nombre completo de la variable es 'user_mail_register_no_approval_required_notify'.

No parece haber una interfaz de usuario para esa variable. Sin embargo, puede configurarlo en su settings.php, agregando la siguiente línea al final de settings.php (probablemente dentro de los sitios / predeterminado).

$conf['user_mail_register_no_approval_required_notify'] = FALSE;

También puede hacer lo mismo para otras notificaciones por correo; los otros $opvalores posibles se enumeran en la página vinculada.

Berdir
fuente
Muchas gracias. Es muy difícil creer que no haya una configuración de administrador.
qasimzee
En realidad, puedo ver un caso de uso para evitar correos electrónicos con la confirmación del usuario requerida. Los correos electrónicos del sistema son bastante limitados si desea enviar correos electrónicos html o variar la respuesta por función del usuario, por lo que puedo ver querer asumir este flujo de trabajo con Reglas y correos electrónicos personalizados. Gracias @ Berdir.
dudas1ejack
Para su información, el módulo 'mailcontrol' a continuación es esta misma solución incluida en un módulo simple. No lo pases por alto.
dudas1ejack
8

Puede usar el módulo Mailcontrol .

Le permite activar / desactivar cualquier correo estándar de Drupal que desee directamente desde la interfaz de usuario.

Tenga control total sobre los correos predeterminados enviados por Drupal 7 listos para usar.

Descripción

Este pequeño módulo amplía la página de configuración de la cuenta original de Drupal 7 con la capacidad de activar / desactivar globalmente todos los correos estándar. Por defecto, Drupal 7 no ofrece ninguna opción para deshabilitar globalmente los siguientes correos:

  • Bienvenido (nuevo usuario creado por el administrador)
  • Bienvenido (en espera de aprobación)
  • Bienvenido (no se requiere aprobación)
  • Recuperación de contraseña
Reszli
fuente
4

Puede usar esto en un módulo personalizado para agregar la configuración en una casilla de verificación como se hace en la configuración de activación de la cuenta.

function your_module_form_user_admin_settings_alter(&$form, &$form_state) {

  // allow admin to choose if a notification mail is sent to no approval required users
  form['email_no_approval_required']['user_mail_register_no_approval_required_notify'] = array(
    '#type' => 'checkbox',
    '#title' => t('Notify user when account is created.'),
    '#default_value' => variable_get('user_mail_register_no_approval_required_notify', FALSE),
  );
}
Será
fuente
4

En Drupal 7:

Puede editar la tabla de variables directamente: nombre: user_mail_status_activated_notify valor: i: 0;

o en su archivo template.php:

if(variable_get('user_mail_status_activated_notify') == 1){
    variable_set('user_mail_status_activated_notify', 0);
}
Chris Callender
fuente
1

Hay una casilla de verificación para deshabilitar en admin / user / user / create. Para mí, está deshabilitado por defecto.

Pol Dellaiera
fuente
Sí, se supone que esto realmente funciona, pero, en el caso de un registro anónimo, quise enviar una notificación automática por correo electrónico.
lnunesbr
@Inunesbr ¿Qué quiere decir con "registro anónimo"?
kiamlaluno
@kiamlaluno el visitante que crea una cuenta por sí mismo en "usuario / registro"
lnunesbr
0

Para Drupal 8 siguiente trabajo para mí.

El siguiente código no envía un correo electrónico después del registro.

/**
 * Implements hook_mail_alter().
 *
 * Don't send any mail during registration.
 */
function mymodule_mail_alter(&$message) {
  if ($message['id'] == 'user_register_no_approval_required' && $message['key'] == 'register_no_approval_required') {
      $message['send'] = FALSE;
      return;
  }
}
vijay
fuente