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

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

binadmin2020-06-03后端技术178

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

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

2、修改相关配置信息。

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

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

QQ浏览器截图20200602230416.png

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

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


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

依照下图设置即可


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]隐藏。这个自己去参照着源码修改


{4ECAF789-F07D-4B9F-ACEC-35B9B481B401}_20200603100640.jpg


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


      // 联系我们的留言
    $(".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完成手机端搭建全教程(新手看完即会)

注:这篇文章是在我做完一个自适应和一个响应式网站后写的。所以我建议,如果可以的话,最好用@media css做响应式网站,这样就不用考虑手机端的各种问题。因为我当初做的就是自适应,但是没有想到后面的坑...

PHPCMS列表页ajax动态获取更多(新手看完即会)

PHPCMS列表页ajax动态获取更多(新手看完即会)

本文取自Dong-Ge的phpcms 列表页ajax点击加载更多文章但是在实践过程中,由于我对phpcms的不熟悉导致还是浪费了一点时间经过咨询大佬,终于完美解决。1、在phpcms/model创建一...

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

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

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

PHPCMS里Apache服务器的伪静态和定制404页面

PHPCMS里Apache服务器的伪静态和定制404页面

1、首先网站根目录要有.htaccess文件,我做的网站服务器是Apache,所以这里就先不讲nginx服务器环境下了,听说nginx环境更简单。 2、然后直接在.htaccess文件配置网...

PHP入门基础之MySQL基础

PHP入门基础之MySQL基础

1、什么是数据库相关术语:数据库系统(Database System):DBS{    数据库(Database)    数据管理系统(Database Man...

发表评论

访客

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

分享:

支付宝

微信