开启新用户注册的Email验证:
进入站点后台->全局->注册与访问下,找到新用户注册验证,选择Email验证方式。
向用户发送验证邮件分析:
找到source\class\class_member.php文件,在362行附近
- $groupinfo = array();
- if($this->setting['regverify']) {
- $groupinfo['groupid'] = 8;
- } else {
- $groupinfo['groupid'] = $this->setting['newusergroupid'];
- }
此段代码为如果开启了新用户注册验证的话,那么注册后用户的用户组为待验证用户组(groupid=8),否则为新手用户组。
在782行附近
- switch($this->setting['regverify']) {
- case 1:
- $idstring = random(6);
- $authstr = $this->setting['regverify'] == 1 ? "$_G[timestamp]\t2\t$idstring" : '';
- DB::query("UPDATE ".DB::table('common_member_field_forum')." SET authstr='$authstr' WHERE uid='$_G[uid]'");
- $verifyurl = "{$_G[siteurl]}member.php?mod=activate&uid={$_G[uid]}&id=$idstring";
- $email_verify_message = lang('email', 'email_verify_message', array(
- 'username' => $_G['member']['username'],
- 'bbname' => $this->setting['bbname'],
- 'siteurl' => $_G['siteurl'],
- 'url' => $verifyurl
- ));
- sendmail("$username <$email>", lang('email', 'email_verify_subject'), $email_verify_message);
- $message = 'register_email_verify';
- $locationmessage = 'register_email_verify_location';
- $url_forward = dreferer();
- break;