J'ai fait une recherche approfondie sur le Web et j'ai également essayé de nombreuses solutions alternatives, mais je n'ai trouvé aucune solution pour désactiver la notification par e-mail pour les nouveaux utilisateurs.
Dans mes paramètres utilisateur, j'ai l'option "Les visiteurs peuvent créer des comptes mais l'approbation de l'administrateur est requise" cochée, et l'option "Exiger une vérification par e-mail lorsqu'un visiteur crée un compte" n'est pas cochée.
Avez-vous une idée?
Si vous regardez la fonction _ user_email_notify () , elle vérifie la variable 'user_mail_' . $op . '_notify'
s'il doit envoyer un e-mail ou non. En supposant que vous avez désactivé la confirmation par e-mail (sinon, désactiver les notifications par courrier électronique serait bizarre;)), $ op est 'register_no_approval_required'
. Le nom complet de la variable est donc 'user_mail_register_no_approval_required_notify'
.
Il ne semble pas y avoir d'interface utilisateur pour cette variable. Cependant, vous pouvez le définir dans votre settings.php, en ajoutant la ligne suivante à la fin de settings.php (probablement à l'intérieur des sites/par défaut).
$conf['user_mail_register_no_approval_required_notify'] = FALSE;
Vous pouvez également faire de même pour les autres notifications par courrier électronique; l'autre possible $op
les valeurs sont répertoriées sur la page liée.
Vous pouvez utiliser le module Mailcontrol .
Il vous permet d'activer/désactiver tout courrier standard Drupal que vous souhaitez directement depuis l'interface utilisateur.
Ayez un contrôle total sur les e-mails par défaut envoyés par Drupal 7 hors de la boîte.
La description
Ce petit module étend la page d'origine Drupal 7 paramètres de compte avec la possibilité d'activer/désactiver globalement tous les e-mails standard. Par défaut Drupal 7 ne fournit aucune option pour globalement désactiver les mails suivants:
- Bienvenue (nouvel utilisateur créé par l'administrateur)
- Bienvenue (en attente d'approbation)
- Bienvenue (aucune approbation requise)
- Récupération de mot de passe
Dans Drupal 8, l'équivalent de le code donné par Berdir pour le fichier settings.php est le suivant.
$config['user.settings']['notify.register_no_approval_required'] = FALSE;
Vous pouvez l'utiliser dans un module personnalisé pour ajouter les paramètres dans une case à cocher comme cela se fait dans les paramètres d'activation du compte.
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),
);
}
Dans Drupal 7:
Vous pouvez modifier directement la table des variables: nom: user_mail_status_activated_notify valeur: i: 0;
ou dans votre fichier template.php:
if(variable_get('user_mail_status_activated_notify') == 1){
variable_set('user_mail_status_activated_notify', 0);
}
Il y a une case à cocher pour désactiver dans admin/user/user/create. Pour moi, il est désactivé par défaut.
Pour Drupal 8 travaux suivants pour moi.
Le code suivant n'envoie pas d'e-mail après l'inscription.
/**
* 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;
}
}