利用dede自定义表单,实现在线邮件功能通知提醒功能

http://www.itjxue.com  2015-12-02 10:20  来源:小E自编  点击次数: 

这两天刚好帮客户做网站,因为客户有这样一个需求:那就是通过网站点击在线预约系统,想将网站预约的信息,直接发送到他的邮箱。而不是网站后台。刚好后台又是用的DEDECMS,于是想到了利用自定义表单来做。

下面我就来分享下:如果利用DEDECMS自定义表单,来实现我们想要的在线预约功能。

 

第一步、创建自定义表单

首先,我先自定义创建一个自定义表单,先把我们想要的属性,添加进行,然后完成后。

如下图:

1.先新建自定义表单,定义好前台页面。

创建自定义表单

前台页面

自定义表单前台页面

 

点击预览前台,然后点击发布信息,右键查看源码,获取我们想要的一些系统自带的信息。然后把这些代码,添加到我们事先写好的代码里。

如下图:

自定义表单代码

 

第二步、修改文件

在plus目录下面,找到diy.php这个文件。然后找到这段代码:大约在87行  $id = $dsql->GetLastID();前面添加

如下代码

如下图:

添加代码

global $cfg_smtp_server, $cfg_adminemail, $cfg_smtp_port, $cfg_smtp_usermail, 
$cfg_smtp_password, $cfg_webname;
$to_email = $cfg_adminemail;//收件人Email,可自行替换
$mailtitle = "自定义表单标题";    //自行设置
$mailbody = "自定义表单发送内容";    //自行设置
$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($to_email, $cfg_webname, $cfg_smtp_usermail, 
$mailtitle, $mailbody, $mailtype);

注:自定义表单的内容参数,为你表单定义的name值。

 

第三步、修改后台配置

点击:系统-->系统基本参数--->核心参数,进行数据修改。

如下图:

修改系统参数1

修改系统参数2

友情提示:可能有些朋友按这篇文章做了,但是还是收不到邮件提示,可能是以下几种原因,请认真检查下

1、后台没有配置SMTP服务

2、其次可能是配置不对,建议大家别用QQ邮箱,因为很多QQ邮箱确实收不到邮件,不清楚什么原因;

推荐使用 163或126邮箱,这个一般都没问题;SMTP服务器为 smtp.126.com或smtp.163.com,端口是 25,QQ的端口好像是465。

3、如果以上都没问题,也可能是你的空间或服务器不支持邮件发送功能,请询问服务商。

重要的一点:如果网站使用的是国外服务器需要对第二步进行一下处理
   一般网站使用的是国内服务器加上第二步给的代码,就可以实现管理员邮箱给自己发信,内容通过id号获取,不过美国主机是限制自己给自己发邮件的,所以在第二步代码的最后一句,要将其改下:
$smtp->sendmail($to_email, $cfg_webname, $cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);

//发送邮件,sendmail(收件人,网站名,发件人,邮件标题,邮件内容,邮件类型),将收件人重新定义一个,
比如:

$to_email="xxxx@qq.com";
$smtp->sendmail($to_email, $cfg_webname, $cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);

这样就可以收到啦。
 

是不是觉得很容易就实现了在线邮件发送功能呢?

本文由段亮博客原创出品,如需转载,请注明出处。

本文出处:http://www.itjxue.com/dede_24674.html


(责任编辑:IT教学网)

更多