Answers:
如果查看函数_user_email_notify(),它将检查该变量'user_mail_' . $op . '_notify'
是否应该发送电子邮件。假设您已禁用电子邮件确认(否则,禁用邮件通知会很奇怪;),则$ op为'register_no_approval_required'
。因此完整的变量名称为'user_mail_register_no_approval_required_notify'
。
该变量似乎没有用户界面。但是,您可以在settings.php中进行设置,在settings.php的末尾添加以下行(可能在站点/默认位置)。
$conf['user_mail_register_no_approval_required_notify'] = FALSE;
您也可以对其他邮件通知执行相同的操作;其他可能的$op
值在链接的页面上列出。
您可以使用Mailcontrol模块。
它允许您直接从UI打开/关闭任何您希望的标准Drupal邮件。
开箱即用,完全控制Drupal 7发送的默认邮件。
描述
这个小模块扩展了原始的Drupal 7帐户设置页面,可以全局打开/关闭所有标准邮件。默认情况下,Drupal 7不提供全局禁用以下邮件的选项:
- 欢迎(管理员创建的新用户)
- 欢迎(正在等待批准)
- 欢迎(无需批准)
- 找回密码
在Drupal 8中,等效于Berdir给settings.php文件提供的代码如下。
$config['user.settings']['notify.register_no_approval_required'] = FALSE;
您可以在自定义模块中使用此功能,以将其添加到复选框中,就像在帐户激活设置中一样。
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),
);
}
在admin / user / user / create处有一个复选框要禁用。对我来说,默认情况下它是禁用的。
对于Drupal 8,以下工作为我服务。
注册后,以下代码不会发送电子邮件。
/**
* 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;
}
}