当前位置:首页 > 网站技术 > 后端技术 > 正文内容

实现PHPCMS里提交表单发送邮件功能

小彬2020-06-03后端技术1649

使用phpcms自带的邮件发送功能实现前台页面表单提交时发送邮件

1、首先在phpcms后台找到邮箱配置

实现PHPCMS里提交表单发送邮件功能

2、修改相关配置信息。

我这里建议使用163的邮件服务器,因为我刚开始用的就是QQ,但是不好用。

记得如果使用163,那么邮件服务器要使用ssl加密模式,端口号是994

实现PHPCMS里提交表单发送邮件功能

发件人就是注册的163账号,验证用户名和发件人一样,验证密码就是授权码。

点击邮件设置测试,如果邮箱收到邮件,那么表示成功了

实现PHPCMS里提交表单发送邮件功能


3、在后台设置->模块->表单向导添加接收邮件,即可实现前台表单提交邮箱收到邮件功能

依照下图设置即可

实现PHPCMS里提交表单发送邮件功能


4、一般情况下这个时候收到的邮件都是空白的,所以要去修改PHP代码

找到 /phpcms/modules/formguide/index.php


找到  foreach ($mails as $m) {
       sendmail($m, L('tips'), $this->M['mailmessage']);
  } 替换为


$f_info = $this->db->get_one(array('modelid'=>$formid, 'siteid'=>$this->siteid));  
            $MailSubject = '用户提交表单['.$f_info['name'].']提醒';  
            $Fields = getcache('formguide_field_'.$formid, 'model');  
            $Fields['username']['name'] = '用户名';  
            $Fields['datetime']['name'] = '提交时间';  
            $Fields['ip']['name'] = '提交IP';  
            unset($data['userid'], $data['datetime']);  
            foreach($data as $k=>$v){  
                    $MailBody .= $Fields[$k]['name'].'        :'.$v.'<br />';  
            }          
            foreach ($mails as $m) {  
                    sendmail($m, $MailSubject, $MailBody.$this->M['mailmessage']); 
            }


当然最后也许自己想要的字段并没有,那就需要在表单向导里面加字段,然后在前台使用input[hidden]隐藏。这个自己去参照着源码修改


实现PHPCMS里提交表单发送邮件功能


最后在手机端提交的时间是标准时间,所以要修改一下。


      // 联系我们的留言
    $(".linkForm").click(function(){
        let date = new Date();
        let year = date.getFullYear();
        let month = date.getMonth() + 1;
        let date2 = date.getDate();
        let hours = date.getHours();
        let seconds = date.getSeconds();
        let minutes = date.getMinutes();
        let time = JSON.stringify(year + '-' + month + '-' + date2 + ' ' + hours + ':' + minutes + ':' + seconds);
        $(".formLink").val(window.location.href)
        $(".formTime").val(time)
    })


标签: phpcms
分享给朋友:

相关文章

修改phpcms后台添加或编辑时的弹出新窗口

修改phpcms后台添加或编辑时的弹出新窗口

如题,在后台添加内容的时候每次都要弹出新的窗口,所以让内容发布人员极其不爽而我当然是要修改该问题,使新窗口打开不用弹出。找到phpcms\modules\content\templates\conte...

使用火车头采集文章并发布在PHPCMS里(新手看完即会)

使用火车头采集文章并发布在PHPCMS里(新手看完即会)

网上其实有免登录的方法 https://www.gwygd.com/rRz6bMWRO.html但是我用过,发现不能用,所以只好用了登录的方法,所幸成功了。首先下载火车头,里面有phpcms采集文章的...

phpcms筛选功能+分页功能的实现(新手看完就会)

phpcms筛选功能+分页功能的实现(新手看完就会)

首先,我是在网上找了很多资料,基本上都是一样的代码,都是复制一段PHP代码然后调用模板,我也在坑里呆了好久。他们的链接我放在下面,以免误坑。http://m.genban.org/teach/teac...

 PHP入门基础之面向对象语法

PHP入门基础之面向对象语法

对象是程序中的一种数据结构,用来表现某个事物。相反,任何事物在程序中可以用某个对象来表示。对象包括变量和函数。对象中的变量叫做属性,对象中的函数叫做方法对象的属性和方法可以描述表达万事万物1、面向对象...

PHP入门之正则表达式、PHP错误报告

PHP入门之正则表达式、PHP错误报告

原子:指正则表达式中不可再分的基本单元可见原子:普通字符:字母 数字 汉字 符号特殊字符 / \ . * ? " ' | [] {}  ()不可见原子:\t 制表符tab\...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

分享:

支付宝

微信