discuz X3.2邮箱非必填

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

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

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

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

找到原因,修改如下:

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

完美!

原文地址:https://www.cnblogs.com/pthlp/p/5217309.html