Disabilita la notifica e-mail del registro


20

Ho fatto una ricerca approfondita sul web e ho anche provato molte soluzioni alternative, ma non ho trovato alcuna soluzione per disabilitare la notifica e-mail per i nuovi utenti.

Nelle mie Impostazioni utente, l'opzione "I visitatori possono creare account ma è richiesta l'approvazione dell'amministratore" è selezionata e l'opzione "Richiedi verifica e-mail quando un visitatore crea un account" non è selezionata.

Hai qualche idea?

Risposte:


32

Se guardi la funzione _user_email_notify () , controlla la variabile 'user_mail_' . $op . '_notify'se deve inviare un'e-mail o meno. Supponendo che tu abbia disabilitato la conferma e-mail (altrimenti, disabilitare le notifiche e-mail sarebbe strano;)), $ op lo è 'register_no_approval_required'. Quindi il nome completo della variabile è 'user_mail_register_no_approval_required_notify'.

Non sembra esserci un'interfaccia utente per quella variabile. Tuttavia, puoi impostarlo nel tuo settings.php, aggiungendo la seguente riga alla fine di settings.php (probabilmente all'interno dei siti / impostazione predefinita).

$conf['user_mail_register_no_approval_required_notify'] = FALSE;

Puoi fare lo stesso anche per altre notifiche di posta; gli altri possibili $opvalori sono elencati nella pagina collegata.


Grazie mille. È così difficile credere che non ci siano impostazioni di amministrazione.
qasimzee,

In realtà, posso vedere un caso d'uso per prevenire le e-mail con la conferma dell'utente richiesta. Le e-mail di sistema sono piuttosto limitate se si desidera inviare e-mail html o variare la risposta in base al ruolo dell'utente, quindi posso vedere che voglio assumere questo flusso di lavoro con le regole e le e-mail personalizzate. Grazie @Berdir.
doub1ejack,

Cordiali saluti, il modulo 'mailcontrol' di seguito è la stessa soluzione integrata in un semplice modulo. Non trascurarlo.
doub1ejack,

8

È possibile utilizzare il modulo Mailcontrol .

Ti consente di attivare / disattivare qualsiasi posta Drupal standard che desideri direttamente dall'interfaccia utente.

Avere il pieno controllo delle e-mail predefinite inviate da Drupal 7 fuori dalla scatola.

Descrizione

Questo piccolo modulo estende la pagina delle impostazioni dell'account Drupal 7 originale con la possibilità di attivare / disattivare globalmente tutte le mail standard. Per impostazione predefinita, Drupal 7 non offre alcuna opzione per disabilitare globalmente le seguenti mail:

  • Benvenuto (nuovo utente creato dall'amministratore)
  • Benvenuto (in attesa di approvazione)
  • Benvenuto (nessuna approvazione richiesta)
  • Recupero della password


4

Puoi usarlo in un modulo personalizzato per aggiungere le impostazioni in una casella di controllo come avviene nelle impostazioni di attivazione dell'account.

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),
  );
}

4

In Drupal 7:

Puoi modificare direttamente la tabella delle variabili: nome: user_mail_status_activated_notify valore: i: 0;

o nel tuo file template.php:

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

1

C'è una casella di controllo da disabilitare in admin / user / user / create. Per me, è disabilitato per impostazione predefinita.


Sì, si suppone che funzioni davvero, ma, in caso di registrazione anonima, intendevo non inviare una notifica automatica via e-mail.
lnunesbr,

@Inunesbr Cosa intendi con "registrazione anonima"?
kiamlaluno

@kiamlaluno il visitatore che crea un account da solo in "user / register"
lnunesbr

0

Per Drupal 8 seguo il lavoro per me.

Il seguente codice non invia un'e-mail dopo la registrazione.

/**
 * 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;
  }
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.