Php Drupal:“;发送电子邮件;向评论海报发送电子邮件的操作无效

Php Drupal:“;发送电子邮件;向评论海报发送电子邮件的操作无效,php,email,drupal,Php,Email,Drupal,我已经成功地在我客户的博客上为管理员设置了新评论发布时的电子邮件通知,现在我正在尝试将其设置为向评论海报发送感谢电子邮件。我使用所描述的触发器和操作进行设置 我把[注释:作者:邮件]放在行动配置表单的“收件人”字段中,正如该字段正下方的注释所建议的那样,但它似乎从未发送过电子邮件。我最初使用自己的电子邮件地址进行了测试,效果很好,然后我以匿名用户的身份使用两个不同的电子邮件地址发表了评论,但从未收到过电子邮件。为什么[注释:作者:邮件]不起作用?我在邮件正文中使用了其他变量(例如,[commen

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

我把
[注释:作者:邮件]
放在行动配置表单的“收件人”字段中,正如该字段正下方的注释所建议的那样,但它似乎从未发送过电子邮件。我最初使用自己的电子邮件地址进行了测试,效果很好,然后我以匿名用户的身份使用两个不同的电子邮件地址发表了评论,但从未收到过电子邮件。为什么
[注释:作者:邮件]
不起作用?我在邮件正文中使用了其他变量(例如,
[comment:node:title]
),它们工作正常

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

下面的屏幕截图显示发送给管理员的电子邮件工作正常,但没有显示感谢电子邮件:

注意:我最初在Drupal答案上发布了这个问题。我希望这不是一个问题,我把它张贴在这里,因为那里没有人提出解决方案



多亏了下面被接受的答案,也多亏了对Drupal答案的评论——我需要使用
[comment:mail]
而不是
[comment:author:mail]
,所以它也可以与匿名评论者一起使用。事实证明,我不需要创建自定义字段。有关更多信息,请参见

令牌
[注释:作者:邮件]
只能用于注册用户

看看commet.token.inc

未注册用户(匿名用户)的uid为0


Uid 0实际上是一个用户,但它没有名称、密码或其他信息。

非常感谢……我想如果我想让它也与匿名用户一起使用,我需要使用一个单独的模块。我将尝试一下:您可以从字段UI(/admin/structure/types/manage/[CONTENTTYPE]/comment/fields)向注释实体添加一个新字段,并将其用作电子邮件地址字段。该字段的标记类似于
[注释:field\u customfield]
如果您接受我的上一篇帖子也会很好。我本来打算接受您的帖子,但它没有提供替代建议,所以我打算先测试替代方案……但现在您已经提供了一个,谢谢。关于自定义字段,评论者已经看到了一个电子邮件字段,因此我是否需要隐藏默认字段,以避免在创建自定义字段后出现两个电子邮件字段?多亏Drupal Answers上的评论解决了这个问题-我需要使用
[comment:mail]
而不是
[comment:author:mail]
因此它也可以与匿名评论者一起使用。事实证明,我不需要创建自定义字段。有关更多信息,请参阅
if (($author_tokens = token_find_with_prefix($tokens, 'author')) && $account = user_load($comment->uid)) {
  $replacements += token_generate('user', $author_tokens, array('user' => $account), $options);
}