加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > Dedecms > 正文

Dede:新用户注册发送验证邮件的方法

发布时间:2020-12-14 03:51:45 所属栏目:Dedecms 来源:网络整理
导读:建站学院讯 在discuz和phpwind等知名论坛中,都有新用户注册邮箱验证的功能,那么功能如此强大的dedecms有没有这一功能呢?回答肯定是有的,只是您不会用而已,现在看我的方法: 1.修改/member/reg_new.php文件。 查找 $dsql-ExecuteNoneQuery($infosquery);

  建站学院讯 在discuz和phpwind等知名论坛中,都有新用户注册邮箱验证的功能,那么功能如此强大的dedecms有没有这一功能呢?回答肯定是有的,只是您不会用而已,现在看我的方法:

  1.修改/member/reg_new.php文件。

  查找

  1. $dsql->ExecuteNoneQuery($infosquery);
复制代码

  在下面插入

  1. //写入邮件验证内容
  2.   $keyums = md5($userid.$email."dedecmslove"); //这里的7就是有效期7天的时间。上面的dedecmslove就是给发送的URL加密用的KEY
  3.   $emldatetime = time()+7*24*3600;
  4.   $emailyz = "INSERT INTO `dede_sj_emailyz`(`userid`,`keyums`,`datetime`)
  5.                   VALUES ('{$userid}','{$keyums}','{$emldatetime}'); ";
  6.   $dsql->ExecuteNoneQuery($emailyz);
  7.  
复制代码

  再找到

  1. //----------------------------------------------
  2. //模拟登录
  3. //---------------------------
复制代码

  在其上面插入:

  1. //发送验证邮件
  2.   if($cfg_md_mailtest=='Y')
  3.   {
  4.     $msg ="<html><head></head><body>";
  5.     $msg .= "<b><font color='#ff0000'>".$uname."</font></b> 恭喜您注册成为XXXXX的会员了!<br>";
  6.     $msg .= "   您的登陆帐号:<b>".$userid."</b><br><br>";//这里,做了个小判断,如果是企业用户注册,则给多送条信息去。
  7.   if($mtype=='企业'){
  8.     $msg .= "   活动公告:<b><font color='#ff0000'>马上完善您的企业信息,免费开通3个月体验会员,享受更多无限制服务体验!</font></b><br>";
  9.     }
  10.     $msg .= "   注意!该验证有效期为1周,请尽快进行您的帐户验证。<br>";
  11.     $msg .= "还有一步您就成功了,请点击下面的链接进行最后一步验证。(如果无法点击链接,请将下面红色部分的链接地址全部复制,然后粘贴到浏览器地址中打开!)<br><br>";
  12.     $msg .= "<a href='http://www.XXXXX.com/member/reg_email.php?g=ok&userid=".$userid."&u=".$keyums."' target=_blank><font color='#FF0000'>[url]http://www.XXXXX.com/member/reg_email.php?g=ok&userid=[/url]".$userid."&u=".$keyums."</font></a><br><br>";
  13.    
  14.     $msg .= "请点击打开上面的连接地址或复制到浏览器地址中打开。如需帮助,请联系XXXXX管理员!<br><br><br>";
  15.     $msg .= "<span style='font-size:12px; color:#CCCCCC'>这是一封由XXXXX网站系统自动发送的邮件,请不要回复邮件!</span><br>";
  16.     $msg .= "<a href=http://www.XXXXXXX.com/>XXXXXX</a> <span style='font-size:12px; color:#CCCCCC'>--XXXXXXXXX的门户网站。</span><br>";
  17.     $msg .= "</body></html>";
  18.     $mailbody = '';
  19.     //下面这个是邮件标题,上面的是邮件正文部分。
  20.     $mailtitle = "XXXXXXXX会员注册验证邮件";
  21.     $mailbody .= "$msg ";
  22.    
  23.    $headers = "From: ".$cfg_adminemail."Reply-To: ".$cfg_adminemail;
  24.    
  25.    if($cfg_sendmail_bysmtp == 'Y' && !empty($cfg_smtp_server))
  26.    {  //下面这里选择HTML网页方式发送,如果邮箱不支持HTML,就改为TXT,不过现在好像都支持HTML了吧。
  27.     $mailtype = 'HTML';
  28.     require_once(DEDEINC.'/mail.class.php');
  29.     $smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);
  30.     $smtp->debug = false;
  31.     $smtp->sendmail($email,$mailtitle,$mailbody,$mailtype);
  32.     
  33.    }
  34.    else
  35.    {
  36.     @mail($email,$headers);
  37.    }
  38.     ShowMsg("恭喜您注册成为XXXXXXXXXX的会员了,现在需要对您的电子邮件( ".$email." )进行验证(有效期1周),请登陆您的邮箱查收!如果无法查收到邮件,请马上联系管理员!","index.php",20000);
  39.    exit();
  40.   }
复制代码

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读