# 帝国CMS二次开发会员注册激活后发送欢迎邮件的方法

*Published:* 2023-11-16
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2023年11月16日，已超过 180天没有更新



教程步骤：
-----

[会员](https://www.xarjtc.com/tag/%e4%bc%9a%e5%91%98 "查看会员此标签更多文章")注册激活后发送欢迎邮件（在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  valign="top" bgcolor="#FFFFFF">取回密码邮件内容<br> <br> <font color="#666666">[!--pageurl--]:取回地址
<br>
[!--username--]:用户名<br>
[!--email--]:邮箱地址<br>
[!--date--]:发送时间<br>
[!--sitename--]:网站名称<br>
[!--news.url--]:网站地址 </font></td>
<td  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" style="WIDTH: 100%" id="textarea"><?=ehtmlspecialchars(stripSlashes($r[getpasstext]))?></textarea></td>
</tr>
</table></td>
</tr>
```

在上面的代码后加上：

```
<tr>
<td  valign="top" bgcolor="#FFFFFF">注册欢迎邮件内容<br> <br> <font color="#666666">
[!--username--]:用户名<br>
[!--email--]:邮箱地址<br>
[!--date--]:发送时间<br>
[!--sitename--]:网站名称<br>
[!--news.url--]:网站地址</font></td>
<td  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" style="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在数据库里直接添加的。  
好了，这样就可以在管理后台直接编辑注册欢迎邮件了，会员注册激活后自动就收到一封注册欢迎邮件。