新用户通知不包括激活链接

时间:2018-11-17 作者:Louis W

当通过仪表板添加新用户时,我注意到当用户被添加到Wordpress时发送给用户的通知电子邮件不能正常工作。电子邮件中包含以下行,但是您会注意到注册密钥丢失,链接未正确呈现。

To set your password, visit the following address: http://www.domain.com/wp-login.php
我四处挖掘,输出wp\\U邮件的内容,如下所示:

    add_filter(\'wp_mail\', function($email) {
        var_dump($email);
        return $email;
    }, 1);
在新用户通知电子邮件中看到:

array(5) {
  ["to"]=>
  string(20) "[email protected]"
  ["subject"]=>
  string(47) "[My Great Blog] Your username and password info"
  ["message"]=>
  string(224) "Username: test19

To set your password, visit the following address:

<http://www.domain.com/wp-login.php?action=rp&key=1nTPsJVMk3H2eEM3Wgpm&login=test19>

http://www.domain.com/wp-login.php
"
  ["headers"]=>
  string(0) ""
  ["attachments"]=>
  array(0) {
  }
}
奇怪的是,它包含了一个正确的链接,但HTML格式不正确(没有a href=),而且缺少结尾。我已经在Wordpress Trac上确认了这一点。

Anyone have any insight onto why this is not working, seems like such a crucial part of a website.

版本4.9.8。

已将“wp\\u mail\\u content\\u type”设置为文本/html。

1 个回复
SO网友:Clinton

WordPress 4.9.0在新用户通知邮件功能中引入了2个过滤器(wp\\u new\\u user\\u notification):

wp\\u new\\u user\\u notification\\u email-要自定义发送给用户的电子邮件,请自定义发送给管理员的电子邮件-要自定义发送给管理员的电子邮件,请忽略第二封,因为这是发送给管理员的电子邮件,格式与您的问题不同。另一方面,wp\\u new\\u user\\u notification\\u电子邮件允许您在将“收件人”、“主题”、“消息”和“标题”发送到wp\\u mail()函数之前修改它们。

但是,您截获了wp\\u邮件过滤器,该过滤器在wp\\u new\\u user\\u notification\\u电子邮件发出后立即启动,此时一切正常,因此问题必须稍后解决。可以过滤邮件的唯一剩余位置是通过wp\\U邮件过滤器。

如果您确信字符集或客户端电子邮件没有问题,请查找任何其他调用以添加\\u filter(\'wp\\u mail\',…)。还可以查看收到的电子邮件的源代码。

对不起,我帮不上忙了。这是一个有趣的问题,我期待着最终听到解决方案是什么或任何其他建议。

结束