Discuz 移动端用户注册邮件发送循环问题解决

原创
2019/05/30 17:25
阅读数 422

问题:http://www.discuz.net/thread-3839161-1-1.html

因为自己在开发的时候遇到了,解决方式就是移动端不发送邮箱验证。

修改 class_member.php 文件:

// if ($sendurl) {// 原代码
if ($sendurl && !defined('IN_MOBILE')) {// 非移动端才发送邮件
	$hashstr = urlencode ( authcode ( "$_GET[email]\t$_G[timestamp]", 'ENCODE', $_G ['config'] ['security'] ['authkey'] ) );
	$registerurl = "{$_G[siteurl]}member.php?mod=" . $this->setting ['regname'] . "&hash={$hashstr}&email={$_GET[email]}";
	$email_register_message = lang ( 'email', 'email_register_message', array (
			'bbname' => $this->setting ['bbname'],
			'siteurl' => $_G ['siteurl'],
			'url' => $registerurl
	) );
	if (! sendmail ( "$_GET[email] <$_GET[email]>", lang ( 'email', 'email_register_subject' ), $email_register_message )) {
		runlog ( 'sendmail', "$_GET[email] sendmail failed." );
	}
	showmessage ( 'register_email_send_succeed', dreferer (), array (
			'bbname' => $this->setting ['bbname']
	), array (
			'showdialog' => false,
			'msgtype' => 3,
			'closetime' => 10
	) );
}
$emailstatus = 0;
if ($this->setting ['sendregisterurl'] && ! $sendurl) {
	$_GET ['email'] = strtolower ( $hash [0] );
	$this->setting ['regverify'] = $this->setting ['regverify'] == 1 ? 0 : $this->setting ['regverify'];
	if (! $this->setting ['regverify']) {
		$groupinfo ['groupid'] = $this->setting ['newusergroupid'];
	}
	$emailstatus = 1;
}

// 移动端,由于不发送邮件进行邮箱验证,则邮件状态为未激活
if(defined('IN_MOBILE')) $emailstatus = 0;
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部