东方星雨

简单网络

一个爱好网络的80后男站长。

关注我东方星雨个人微信号:476847113

您现在的位置是:首页 > 站长日志

帝国cms会员注册激活后发送欢迎邮件

2019-03-26 站长 站长日志

看到有人需要会员注册激活后发送欢迎邮件,本人研究数日,终于成功,本人小白一个,不懂php,所以基本上是修改了网站原程序而变化得到的,现贴出方法,请大家检验看是否有漏洞,帮忙修正。
jiuhecai 朋友,提供了由id查询email字段的方法,特别感谢。

会员注册激活后发送欢迎邮件(在7.5版本下修改的,其余版本使用情况未知。大家修改程序前请先备份需要修改的程序,以防万一)
1. 在 /e/member/class/member_actfun.php 文件中增加发送邮件函数 (复制于classmember_actfun.php文件中发送激活帐号邮件,仅仅修改了一下字段名)
2. 在 /e/admin/SetEnews 文件增加管理后台的操作界面  (复制于SetEnews 文件中帐号激活邮件内容,修改了一下名称)
3. 在 /e/admin/SetEnews 文件增加字段写入到数据库的语句 (仿照发送激活帐号邮件的字段的写法,增加了两个新字段写入数据库)
4. 在数据库中增加相应的字段标题字段、内容字段 ( 注册激活后发送欢迎邮件中需要的标题、内容字段 )

说明:在管理后台直接编辑的注册欢迎邮件可以完美直接调用以下字段
[!--username--]:用户名
[!--email--]:邮箱地址
[!--date--]:发送时间
[!--sitename--]:网站名称
[!--news.url--]:网站地址

具体操作步骤:
1. 在 /e/member/classmember_actfun.php文件找到 printerror('ActUserSuccess',$public_r['newsurl'],1);在这句前加上
   
    //发送激活后的欢迎邮件
        $usql=$empire->fetch1("select email from {$dbtbpre}enewsmember where userid='$r[id]' limit 1");
    $email=$usql['email'];
        $pr=$empire->fetch1("select welcometext,welcometitle from {$dbtbpre}enewspublic limit 1");
        @include(ECMS_PATH.'e/class/SendEmail.inc.php');
        $textrr=QMRepEmailtext($userid,$username,$email,$url,$pr['welcometitle'],$pr['welcometext']);
        $sm=EcmsToSendMail($email,$textrr['title'],$textrr['text']);
    
    
2.   在 /e/admin/SetEnews 文件增加管理后台的操作界面(我加到了取回密码邮件内容后,自己也可以加到别的地方)
   
     在取回密码邮件内容后,即
        <td height="25" valign="top" bgcolor="#FFFFFF">取回密码邮件内容<br> <br> <font color="#666666">[!--pageurl--]:取回地址 
            <br>
            [!--username--]:用户名<br>
            [!--email--]:邮箱地址<br>
            [!--date--]:发送时间<br>
            [!--sitename--]:网站名称<br>
            [!--news.url--]:网站地址 </font></td>
          <td height="25" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="1" cellpadding="3">
              <tr> 
                <td>标题: 
                  <input name="getpasstitle" type="text" id="getpasstitle" value="<?=stripSlashes($r[getpasstitle])?>" size="38"></td>
              </tr>
              <tr> 
                <td><textarea name="getpasstext" cols="80" rows="12" "WIDTH: 100%" id="textarea"><?=ehtmlspecialchars(stripSlashes($r[getpasstext]))?></textarea></td>
              </tr>
            </table></td>
        </tr>
       后加上
         
       <tr> 
          <td height="25" valign="top" bgcolor="#FFFFFF">注册欢迎邮件内容<br> <br> <font color="#666666"> 
            [!--username--]:用户名<br>
            [!--email--]:邮箱地址<br>
            [!--date--]:发送时间<br>
            [!--sitename--]:网站名称<br>
            [!--news.url--]:网站地址</font></td>
          <td height="25" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="1" cellpadding="3">
              <tr> 
                <td>标题: 
                  <input name="welcometitle" type="text" id="welcometitle" value="<?=stripSlashes($r[welcometitle])?>" size="38"></td>
              </tr>
              <tr> 
                <td><textarea name="welcometext" cols="80" rows="12" "WIDTH: 100%" id="welcometext"><?=ehtmlspecialchars(stripSlashes($r[welcometext]))?></textarea></td>
              </tr>
            </table></td>
        </tr>  
        
3.   在 /e/admin/SetEnews 文件在搜索   acttext='".eaddslashes($add[acttext])."', 在其后加上 
      welcometext='".eaddslashes($add[welcometext])."',welcometitle='".eaddslashes($add[welcometitle])."'
      
4.   在数据库phome_enewsmember中增加相应的字段标题字段:welcometitle 内容字段:welcometext ,我用phpmyadmin在数据库里直接添加的。

好了,这样就可以在管理后台直接编辑注册欢迎邮件了,会员注册激活后自动就收到一封注册欢迎邮件。

[img][/img] 

上传以下图片:

文章评论