DEDECMS开启邮箱验证通知的解决方法

DEDECMS开启邮箱验证通知的解决方法

[摘要]织梦CMS是开源内容管理系统,是国内开源CMS的领先品牌,目前程序安装量已达七十万,本文介绍DEDECMS会员注册时,开启邮箱验证通知的解决方法。

  在论坛上看到很多人都说这个功能没用,邮箱根本无法收到邮件,经过DEDE技术吧的测试,发现这个功能还是可行可用的,本帖教程讲述一步步如何设置DEDE会员注册开启邮箱验证通知的修改操纵方法:

  1、进入自己已有的邮箱,设置帐户,选择“开启POP3/SMTP服务 ”并保存更改。我就哪我现有设置好的邮箱给大家演示(注:我用的是腾讯企业邮箱,特别注意我画红部分,第一个必要设置就是在邮箱里设置:开启POP/SMTP服务,第二个就是必要获取POP服务器的信息),如图:

DEDECMS开启邮箱验证通知的解决方法
 

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

  1. 是否启用smtp方式发送邮件:是.
  2. smtp服务器: smtp.exmail.qq.com (注:因为我用的是QQ企业邮箱,所以可以参照上图演示第二个画红部分.POP服务器为:我所填写的:smtp.exmail.qq.com,一般这个POP服务器的填写不是乱填,请一定要参考你使用的邮箱他们所在的POP服务器.)
  3. smtp服务器端口: 25 (一般这个不需要可以去修改改变.默认为:25)
  4. SMTP服务器的用户邮箱: webmaster@asqq8.net (这里填写完整的邮箱地址)
  5. SMTP服务器的用户帐号: webmaster (这里填写邮箱开头的账户也就是用户名)
  6. SMTP服务器的用户密码: 123456 (密码就不用多说了)

DEDECMS开启邮箱验证通知的解决方法

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

DEDECMS开启邮箱验证通知的解决方法

  教程演示操纵到这里,已经可以收到邮件了.测试下!(附:下面修改邮箱发信的内容,我们适当的修改下发信内容)修改操纵方法如下:

  打开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 = eregi_replace('http://', '', $url);
   $url = 'http://'.eregi_replace('//', '/', $url);
   $mailtitle = "{$cfg_webname}--会员邮件验证通知";
   $mailbody = '';
   $mailbody .= "尊敬的用户,您好:\r\n";
   $mailbody .= "欢迎注册成为[{$cfg_webname}]的会员。\r\n";
   $mailbody .= "要通过注册,还必须进行最后一步操作,请点击或复制下面链接到地址栏访问这地址:\r\n\r\n";
   $mailbody .= "{$url}\r\n\r\n";
   $mailbody .= "Power by http://www.dedecms.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_smtp_usermail, $mailtitle, $mailbody, $mailtype);
  }
  else
  {
  
   @mail($email, $mailtitle, $mailbody, $headers);
  }
 }

  自行按照自己的习性进行修改,我简单的修改如下:

 //邮件验证
 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 = eregi_replace('http://', '', $url);
   $url = 'http://'.eregi_replace('//', '/', $url);
   $mailtitle = "{$cfg_webname}--会员邮件验证通知";
   $mailbody = '';
   $mailbody .= "尊敬的用户,您好:\r\n";
   $mailbody .= "欢迎注册成为[{$cfg_webname}]的会员。\r\n";
   $mailbody .= "要通过注册,还必须进行最后一步操作,请点击或复制下面链接到地址栏访问这地址:\r\n\r\n";
   $mailbody .= "{$url}\r\n\r\n";
   $mailbody .= "Power by http://598080707.net  DEDE技术吧!\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_smtp_usermail, $mailtitle, $mailbody, $mailtype);
  }
  else
  {
  
   @mail($email, $mailtitle, $mailbody, $headers);
  }
 }

  教程到这里就已经全部结束,下面我再贴一张图演示下我邮箱收到信的内容截图:

DEDECMS开启邮箱验证通知的解决方法

DEDECMS开启邮箱验证通知的解决方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/114015.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 对java中bean的理解

    对java中bean的理解简单笼统的说就是一个类,一个可复用的类。javaBean在MVC设计模型中是model,又称模型层,在一般的程序中,我们称它为数据层,就是用来设置数据的属性和一些行为,然后我会提供获取属性和设置属性的get/set方法JavaBean是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean通过提供符合一致性设计模式的公共方法将

  • 引用类型的一些方法

    引用类型的一些方法

  • Vue3 最长递增子序列详解

    Vue3 最长递增子序列详解Vue3最长递增子序列研究本文初衷彻底讲清楚Vue3源码中实现最长递增子序列的算法。概念名词**最长递增子序列:**在一个给定的数值序列中,找到一个子序列,使得这个子序列元素的数值依次递增,并且这个子序列的长度尽可能地大。最长递增子序列中的元素在原序列中不一定是连续的。比如:序列[10,9,2,5,3,7,101,18]的最长递增子序列是[2,3,7,101]或[2,3,7,18]。序列[3,2,8,9,5,6,7,11,15,4]

  • 罗技键盘手机app_罗技k480键盘教程

    罗技键盘手机app_罗技k480键盘教程1罗技Android平板键盘:概况前言:相信有很多平板用户都羡慕华硕推出的一款带外接键盘功能的平板吧,现在不用垂涎欲滴了,因为罗技已经看到平板电脑用户群中对外接键盘输入的需求,推出了罗技平板电脑键盘,下面就和我们一起关注一下吧。罗技平板电脑键盘(支持Android)概况介绍:打开罗技平板电脑键盘的包装,我们发现只有一个黑盒子,其实这个扁平的黑盒子是用于架设放置平板电脑的。打开黑盒子,里面蓝色的内饰…

    2022年10月15日
  • tinyxml 内存泄露_tinyxml 用法[通俗易懂]

    tinyxml 内存泄露_tinyxml 用法[通俗易懂]场景说明:创建一个空的xml文件,要求格式如下:代码如下:TiXmlElement*RootElement=NULL;TiXmlDocument*pDoc=NULL;pDoc=newTiXmlDocument();TiXmlDeclaration*pDeclaration=newTiXmlDeclaration((“1.0”),(“UTF-8”),(“”));pDoc-&…

  • Navicat Premium 12连接Oracle时提示oracle library is not loaded的问题解决

    Navicat Premium 12连接Oracle时提示oracle library is not loaded的问题解决笔者使用的NavicatPremium12启动界面截屏:请注意是64位的。笔者win764位系统。连接Oracle时提示“oraclelibraryisnotloaded”。解决方法:1.前往“http://www.oracle.com/technetwork/database/database-te…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号