discuz X3.2邮箱非必填

时间:2024-11-10 00:07:20

最近有个需求是:邮箱非必答,但是X3.2是邮箱必填;

找到资料:http://www.51php.com/discuz/17147.html

但是修改后不起作用!提示‘Email 地址无效’!

用firephp跟踪发现:随机生成的email的后缀是@localhost!(找了好久……)

找到原因,修改如下:

 //原来代码
if(empty($email) && $_G['setting']['forgeemail'])
{
$_GET['email'] = $email = strtolower(random(6)).'@'.$_SERVER['HTTP_HOST'];
}
//但是如果本地调试emai后缀就是@localhost,不符合邮箱的规则
if(empty($email) && $_G['setting']['forgeemail'])
{
$_GET['email'] = $email = strtolower(random(16)).'@'.'klaus.com';
}
//增加了16位随机码,减少生成相同的邮箱概率;
//后缀固定,这样就不提示'Email 地址无效'了!

完美!