首頁 > 織夢cms教程 閱讀:0更新時間:2021-03-29 16:20:21

Dede:新用戶注冊發送驗證郵件的方法

在discuz和phpwind等知名論壇中,都有新用戶注冊郵箱驗證的功能,那么功能如此強大的dedecms有沒有這一功能呢?回答肯定是有的,只是您不會用而已,現在看我的方法:

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

  查找

 

$dsql->ExecuteNoneQuery($infosquery);
復制代碼

  在下面插入

 

//寫入郵件驗證內容
  $keyums = md5($userid.$email."dedecmslove"); //這里的7就是有效期7天的時間。上面的dedecmslove就是給發送的URL加密用的KEY
  $emldatetime = time()+7*24*3600;
  $emailyz = "INSERT INTO `dede_sj_emailyz`(`userid`,`keyums`,`datetime`)
                  VALUES ('{$userid}','{$keyums}','{$emldatetime}'); ";
  $dsql->ExecuteNoneQuery($emailyz);

復制代碼

 

  再找到

 


//----------------------------------------------
//模擬登錄
//---------------------------
復制代碼


 

  在其上面插入:

 


//發送驗證郵件
  if($cfg_md_mailtest=='Y')
  {
    $msg ="<html><head></head><body>";
    $msg .= "<b><font color='#ff0000'>".$uname."</font></b> 恭喜您注冊成為XXXXX的會員了!<br>";
    $msg .= "   您的登陸帳號:<b>".$userid."</b><br><br>";//這里,做了個小判斷,如果是企業用戶注冊,則給多送條信息去。
  if($mtype=='企業'){
    $msg .= "   活動公告:<b><font color='#ff0000'>馬上完善您的企業信息,免費開通3個月體驗會員,享受更多無限制服務體驗!</font></b><br>";
    }
    $msg .= "   注意!該驗證有效期為1周,請盡快進行您的帳戶驗證。<br>";
    $msg .= "還有一步您就成功了,請點擊下面的鏈接進行最后一步驗證。(如果無法點擊鏈接,請將下面紅色部分的鏈接地址全部復制,然后粘貼到瀏覽器地址中打開?。?lt;br><br>";
    $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>";
   
    $msg .= "請點擊打開上面的連接地址或復制到瀏覽器地址中打開。如需幫助,請聯系XXXXX管理員!<br><br><br>";
    $msg .= "<span style='font-size:12px; color:#CCCCCC'>這是一封由XXXXX網站系統自動發送的郵件,請不要回復郵件!</span><br>";
    $msg .= "<a href=http://www.XXXXXXX.com/>XXXXXX</a> <span style='font-size:12px; color:#CCCCCC'>--XXXXXXXXX的門戶網站。</span><br>";
    $msg .= "</body></html>";
    $mailbody = '';
    //下面這個是郵件標題,上面的是郵件正文部分。
    $mailtitle = "XXXXXXXX會員注冊驗證郵件";
    $mailbody .= "$msg \r\n\r\n";
   
   $headers = "From: ".$cfg_adminemail."\r\nReply-To: ".$cfg_adminemail;
   
   if($cfg_sendmail_bysmtp == 'Y' && !empty($cfg_smtp_server))
   {  //下面這里選擇HTML網頁方式發送,如果郵箱不支持HTML,就改為TXT,不過現在好像都支持HTML了吧。
    $mailtype = 'HTML';
    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_smtp_usermail, $mailtitle, $mailbody, $mailtype);
    
   }
   else
   {
    @mail($email, $mailtitle, $mailbody, $headers);
   }
    ShowMsg("恭喜您注冊成為XXXXXXXXXX的會員了,現在需要對您的電子郵件( ".$email." )進行驗證(有效期1周),請登陸您的郵箱查收!如果無法查收到郵件,請馬上聯系管理員!","index.php",0,20000);
   exit();
  }
復制代碼

beylze編程學院,一個分享編程知識和seo優化知識的網站。跟著beylze一起學習,每天都有進步。

通俗易懂,深入淺出,一篇文章只講一個知識點。

文章不深奧,不需要鉆研,在公交、在地鐵、在廁所都可以閱讀,隨時隨地漲姿勢。

文章不涉及代碼,不燒腦細胞,人人都可以學習。

當你決定關注beylze(公眾號:beylze),你已然超越了90%的其他從業者!

優秀教程

国产亚洲欧美日韩