9

每当用户注册帐户时,自动电子邮件(我可以在 中设置admin/config/people/accounts)不会携带用户名、电子邮件等定义的变量。

例如。这是我为一封电子邮件设置的内容:

[用户名],

感谢您在 [site:name] 注册。您的帐户申请目前正在等待批准。一旦获得批准,您将收到另一封电子邮件,其中包含有关如何登录、设置密码和其他详细信息的信息。

-- [站点:名称] 团队

括号中的那些变量只是没有出现。电子邮件照常发送,但在这些变量所在的位置,没有插入任何内容。有什么我必须先启用的吗?

4

3 回答 3

1

邮件中的令牌替换发生在 user.module (modules/user/user.module) 的第 2815 行。您可以添加以下代码行

drupal_set_message("Text: $text, Variables: " . print_r($variables, TRUE) . ", Language: $language);

在这行之前

return token_replace($text, $variables, array('language' => $language, 'callback' => 'user_mail_tokens', 'sanitize' => FALSE, 'clear' => TRUE));

这将作为消息告诉您令牌替换问题发生了什么。如果您可以在此处发布您看到的消息,我可以帮助解决问题。

于 2013-10-23T23:05:44.060 回答
0

-- 阅读PHP.NET规范 --,

  • 我认为默认情况下,一些主机提供商不支持少数 PHP 过滤器(或类似的),所以(这只是一个假设!)可能是FILTER_SANITIZE_EMAIL用于删除除字母、数字和 !#$%&' 之外的所有字符*+-/=?^_`{|}~@.[],已开启。所以请检查一下!
于 2013-10-16T23:17:39.353 回答
0

看来您有错误配置问题或丢失……在这里查看带有 html 邮件的配置,请参阅此处 也尝试使用 update.php 更新它!

于 2013-05-20T06:47:39.567 回答