如何在Drupal 7中用户更新帐户后向用户发送有关电子邮件的所有详细信息

时间:2018-01-19 06:48:34

标签: php email drupal drupal-7

目前,我希望在用户在Drupal 7中更新帐户后向用户发送有关电子邮件的所有详细信息。

我能够成功发送用户其他详细信息,但我无法发送密码。

我使用drupal规则和action发送所有细节。我试图在身体上添加[user:password],但密码仍然是空白。

我发送了所有这样的细节:

enter image description here

Your Updated Name : [account:name]
Your unique id : [account:uid]
Your Roles : [account:roles]
Your Password is  [account:password] 

请告诉我我在身上写的密码。

如果我不应该通过电子邮件发送密码,如果不可能,我可以发送重置密码的链接。

我想知道我们怎么能这样做,每个人都会收到一封带有新密码的电子邮件 - 或者是一封重置密码的电子邮件。

让我知道哪一个可能以及如何?

3 个答案:

答案 0 :(得分:1)

默认情况下,Drupal在创建新帐户时不会创建密码,因此您无法使用注册电子邮件发送密码,但您可以发送一次性链接,允许用户激活&## 34;他们的帐户并设置密码。

在这种情况下,您的一次性网址标记为:[user:one-time-login-url]

答案 1 :(得分:1)

您无法从数据库获取密码,因为它未作为普通值存储。相反,密码是经过哈希处理(转换为某些哈希码)以及单向操作。您无法从该哈希字符串中获取密码。

此外,由于存在安全风险,在电子邮件中发送密码并不明智。

但是,如果用户刚刚更改了密码(提交了包含密码值的表单),您可以获取密码(并发送)。如果您真的想要这样做,请尝试为用户更新表单创建表单处理程序。然后挂钩它,这样你的表单处理程序就会被调用,你可以获得提交的数据,包括密码和从那里发送电子邮件。

代码看起来像这样:

/**
 * Implementation of hook_form().
 */
function mymodule_form_page_node_form_alter(&$form, &$form_state) { 
    $form['buttons']['Change a taxonomy value and save'] = Array (
        '#type' => 'submit',
        '#value' => t('Change a taxonomy value and save'),
        '#weight' => 4,
        '#submit' => Array('_mymodule_change_page_taxonomy_value_submit', 'node_form_submit')
    );
}

/**
 * Function to perform changes to the taxonomy field before page is saved
 */
function _mymodule_change_page_taxonomy_value_submit($form, &$form_state) { 
    // Change the taxonomy value to whatever it is meant to be
    $mynewtaxonomyvalue = [taxonomyobjectfromsomewhere]; 
    $form_state['values']['taxonomy'][5] = $mynewtaxonomyvalue->tid;
}

从此处复制示例:https://www.drupal.org/forum/support/module-development-and-code-questions/2010-01-29/adding-custom-submit-handlers-to-a#comment-3873354

但首先检查一下,当用户使用规则更改密码时,也许密码令牌也可用,因此您无需编码。

答案 2 :(得分:0)

我找到了我的问题答案,并且它成功运作了。 现在我已成功将重置密码的链接发送给用户。

  • 安装Mass Password Reset模块并激活模块。
  • 然后打开人员并点击MASS PASSWORD RESET和Notify用户 通过电子邮件重置密码
  • 然后重置密码,如下面的截图

enter image description here

有关详情:https://www.youtube.com/watch?v=7KpVa9Luzq8