Drupal电子邮件变量没有出现

时间:2013-05-11 19:40:41

标签: php drupal drupal-7

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

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

[用户:名称],

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

- [site:name] team

括号中的那些变量不会出现。电子邮件照常发送,但是这些变量在哪里,没有插入任何内容。我有必要首先启用吗?

3 个答案:

答案 0 :(得分: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));

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

答案 1 :(得分:0)

似乎您在here中看到配置html邮件时出现配置错误或丢失...... 见here 也尝试使用update.php更新它!

答案 2 :(得分:0)

- 阅读 PHP.NET 规格 - ,

  • 我认为通过默认,一些主机提供商不支持少量PHP过滤器(或LIKEWISE ),因此(它只是假设!)可能是, FILTER_SANITIZE_EMAIL 那个用于删除除字母,数字和字母之外的所有字符!#$%&'* + - / =?^ _` {|}〜@。[],已打开。 所以我一定要检查一下!