快捷搜索:   服务器  PHP  安全  IIS  linux 安全

DEDE会员注册开启邮箱验证通知正确完整的修改方法

DEDE建设带会员注册功能的网站,最怕的就是被恶意注册,笨牛网以前开通注册功能,就曾经被自动注册机一天注册上万个账号,为了避免这种机器人注册,提高他们注册难度,可以设置邮件验证功能,那如何设置DEDE会员注册开启邮箱验证通知的呢?下面详解:

1.进入自己已有的邮箱,设置帐户,选择“开启POP3/SMTP服务 ”并保存更改。下面以大家都有的QQ邮箱为例,虽然下面截图是QQ企业邮箱,不过其实都一样,特别注意我画红部分,第一个必要设置就是在邮箱里设置:开启POP/SMTP服务,第二个就是必要获取POP服务器的信息),如图:

DEDE会员注册开启邮箱验证通知正确完整的修改方法 - http://598080707.net


 

2.进入dede后台,系统,系统基本参数,核心设置,配置好邮箱发信的信息.以下是我的配置(说明和如演示图):Dede教程-598080707.NET

① 是否启用smtp方式发送邮件:是.

② smtp服务器: smtp.exmail.qq.com (注:因为我用的是QQ企业邮箱,所以可以参照上图演示第二个画红部分.POP服务器为:我所填写的:smtp.exmail.qq.com,一般这个POP服务器的填写不是乱填,请一定要参考你使用的邮箱他们所在的POP服务器.)

③ smtp服务器端口: 25 (一般这个不需要可以去修改改变.默认为:25)

④ SMTP服务器的用户邮箱: webmaster@asqq8.net (这里填写完整的邮箱地址)

⑤ SMTP服务器的用户帐号: webmaster (这里填写邮箱开头的账户也就是用户名)

⑥ SMTP服务器的用户密码: 123456 (密码就不用多说了)

DEDE会员注册开启邮箱验证通知正确完整的修改方法 - http://598080707.net


3.进入dede后台,系统,系统基本参数,会员设置,在“会员使用权限开通状态(-10 邮件验证 -1 手工审核, 0 没限制)”填-10 如图:

DEDE会员注册开启邮箱验证通知正确完整的修改方法 - http://598080707.net


教程演示操纵到这里,已经可以收到邮件了.测试下!
 

(附:下面修改邮箱发信的内容,我们适当的修改下发信内容)修改方法如下:

打开member文件夹下的reg_new.php文件,我这边DW上修改是在:211 - 239行,修改以下内容就行了:

 

//邮件验证

            if($cfg_mb_spacesta==-10)

            {

                $userhash = md5($cfg_cookie_encode.'--'.$mid.'--'.$email);

                $url = $cfg_basehost.(empty($cfg_cmspath) ? '/' : $cfg_cmspath)."/member/index_do.php?fmdo=checkMail&mid={$mid}&userhash={$userhash}&do=1";

                $url = preg_replace("#http:\/\/#i", '', $url);

                $url = 'http://'.preg_replace("#\/\/#", '/', $url);

                $mailtitle = "{$cfg_webname}--会员邮件验证通知";

                $mailbody = '';

                $mailbody .= "尊敬的用户[{$uname}],您好:\r\n";

                $mailbody .= "欢迎注册成为[{$cfg_webname}]的会员。\r\n";

                $mailbody .= "要通过注册,还必须进行最后一步操作,请点击或复制下面链接到地址栏访问这地址:\r\n\r\n";

                $mailbody .= "{$url}\r\n\r\n";

                $mailbody .= "Power by https://www.bnxb.com \r\n";

          

                $headers = "From: ".$cfg_adminemail."\r\nReply-To: ".$cfg_adminemail;

                if($cfg_sendmail_bysmtp == 'Y' && !empty($cfg_smtp_server))

                {        

                    $mailtype = 'TXT';

                    require_once(DEDEINC.'/mail.class.php');

                    $smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);

                    $smtp->debug = false;

                    $smtp->sendmail($email,$cfg_webname,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);

                }

                else

                {

                    @mail($email, $mailtitle, $mailbody, $headers);

                }

            }//End 邮件验证

 

 如果开启了HTTPS功能,这里的正则存在问题,会多加一个http,可以这样改:

 

 

//邮件验证

            if($cfg_mb_spacesta==-10)

            {

                $userhash = md5($cfg_cookie_encode.'--'.$mid.'--'.$email);

                $url = $cfg_basehost.(empty($cfg_cmspath) ? '/' : $cfg_cmspath)."/member/index_do.php?fmdo=checkMail&mid={$mid}&userhash={$userhash}&do=1";

                $url = preg_replace("#http:\/\/#i", '', $url);

$url = preg_replace("#https:\/\/#i", '', $url);

                $url = 'http://'.preg_replace("#\/\/#", '/', $url);

                $mailtitle = "{$cfg_webname}--会员邮件验证通知";

                $mailbody = '';

                $mailbody .= "尊敬的用户[{$uname}],您好:\r\n";

                $mailbody .= "欢迎注册成为[{$cfg_webname}]的会员。\r\n";

                $mailbody .= "要通过注册,还必须进行最后一步操作,请点击或复制下面链接到地址栏访问这地址:\r\n\r\n";

                $mailbody .= "{$url}\r\n\r\n";

                $mailbody .= "Power by https://www.bnxb.com \r\n";

          

                $headers = "From: ".$cfg_adminemail."\r\nReply-To: ".$cfg_adminemail;

                if($cfg_sendmail_bysmtp == 'Y' && !empty($cfg_smtp_server))

                {        

                    $mailtype = 'TXT';

                    require_once(DEDEINC.'/mail.class.php');

                    $smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);

                    $smtp->debug = false;

                    $smtp->sendmail($email,$cfg_webname,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);

                }

                else

                {

                    @mail($email, $mailtitle, $mailbody, $headers);

                }

            }//End 邮件验证

 

教程到这里就已经全部结束,

下面我再贴一张图演示下我邮箱收到信的内容截图:

DEDE会员注册开启邮箱验证通知正确完整的修改方法 - http://598080707.net


DEDE会员注册开启邮箱验证通知正确完整的修改方法 - http://598080707.net

最后成功收取到了验证邮件!


顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论