2011-01-27 51 views
1

我正在使用Drupal 6.19。我不希望用户在注册时收到确认电子邮件。如何禁用Drupal发送的确认电子邮件?

为此,我在管理>用户管理>用户设置中取消选中“Require e-mail verification when a visitor creates an account”。

但是现在发生的情况是验证电子邮件已被更改为确认电子邮件。即没有验证链接,但仍然使用用户凭证从网站发送邮件。我根本不需要邮件。任何人都可以提出解决这个问题的办法吗

回答

1

听起来像你需要编写一个具有hook_form_alter的自定义模块并寻找提交的注册表单。您可能会破解用户模块,但随后任何更新都会覆盖您的更改。

看起来像user_Registration_submit对_user_mail_notify进行了两次有条件的调用,您可能想要捕获并停止。

http://api.drupal.org/api/drupal/modules--user--user.module/function/user_register_submit/6

起初我注释掉那些线条和登记,以确认他们是负责邮件。如果是,那么你可以尝试一下,看看你可以做介入,并停止该叫什么...

希望帮助

2

根据需要禁用消息的类型,请执行下列操作.. 。

添加的东西看起来像下面一行在你的settings.php

$ CONF [ 'user_mail_ register_no_approval_required_notify'] = FALSE;

用粗体字替换正确的电子邮件消息代码。一些可能的值是:

  • register_admin_created
  • register_no_approval_required_notify
  • register_pending_approval
  • password_reset
  • status_activated
  • status_blocked
  • status_deleted
+0

谢谢,这对我来说很好! – berry120 2011-12-15 17:03:02

8

Drupal 7,通过conf变量,你应该加入下面一行在你的settings.php

$conf['user_mail_register_no_approval_required_notify'] = FALSE; 

大胆的可以采取这个值:

  • register_admin_created:欢迎消息用户通过 管理员创建。
  • register_no_approval_required:欢迎消息,当用户 自我注册。
  • register_pending_approval:欢迎讯息,用户 等待管理员批准。
  • password_reset:密码恢复请求。
  • status_activated:帐户已激活。
  • status_blocked:账户 被冻结。
  • cancel_confirm:帐户取消请求。
  • status_canceled:帐户已取消。

小心,这是user_mail_YOUR_VARIABLE_notify

Docs here and here

感谢以前的答案!

+0

最后一个有效的解决方案! :) – 2013-02-06 09:58:40

0

现在有一个叫做邮件控制的模块来照顾这个愿望。 http://drupal.org/project/mailcontrol

它允许你说你不想发送用户欢迎邮件,如果你愿意,可以将它交换出来用于规则,或者只是将该部分放在经验之外。

如果您在大量用户或轻量级电子商务网站中迁移(这就是为什么我需要它),这可能非常有用。

Drupal 7和Drupal 6在幕后处理这个问题,但我认为MailControl仍然会将复选框放在用户管理界面的相同位置。

相关问题