利用dede自定义表单,实现在线邮件功能通知提醒功能
这两天刚好帮客户做网站,因为客户有这样一个需求:那就是通过网站点击在线预约系统,想将网站预约的信息,直接发送到他的邮箱。而不是网站后台。刚好后台又是用的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、后台没有配置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);
这样就可以收到啦。
是不是觉得很容易就实现了在线邮件发送功能呢?
本文由段亮博客原创出品,如需转载,请注明出处。