Drupal:"发送电子邮件"行动不起作用发送电子邮件到评论的海报

时间:2014-08-13 19:44:39

标签: php email drupal

我已经在发布新评论时成功地在我的客户的博客上为管理员设置了电子邮件通知,我现在正尝试将其设置为向评论的海报发送感谢邮件。我使用here所述的触发器和操作进行设置。

我将[comment:author:mail]放入"收件人"在该字段下面的注释中建议的操作配置表单上的字段,但似乎它从不发送电子邮件。我最初使用自己的电子邮件地址测试它并且工作正常,然后我使用我的两个不同的电子邮件地址作为匿名用户发布了评论,但从未收到过电子邮件。为什么[comment:author:mail]无效?我在电子邮件正文中使用了其他变量(例如[comment:node:title]),他们的工作正常。

我尝试使用Maillog,就像在Drupal Answers上建议的那样,它验证了问题不在于邮件传递,而在于电子邮件没有正确填充。

这是一个截图,显示给管理员的电子邮件工作正常,但不是感谢邮件:

enter image description here

注意:我最初在Drupal Answers上发布了这个问题。我希望这不是我在这里重新发布的问题,因为没有人提供解决方案。


由于下面接受的答案,我解决了这个问题,感谢Drupal Answers的评论 - 我需要使用[comment:mail]而不是[comment:author:mail],所以它也适用于匿名评论者。事实证明,我并不需要创建自定义字段。有关详细信息,请参阅https://drupal.stackexchange.com/a/126814/13378

1 个答案:

答案 0 :(得分:1)

令牌[comment:author:mail]只能与注册用户一起使用。

看一下 commet.token.inc

if (($author_tokens = token_find_with_prefix($tokens, 'author')) && $account = user_load($comment->uid)) {
  $replacements += token_generate('user', $author_tokens, array('user' => $account), $options);
}

未注册的用户(匿名用户)将拥有uid 0。

Uid 0实际上是一个用户,因为它没有名称,传递或其他信息。