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

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

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

使用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
分享给朋友:

相关文章

PHP入门基础之知识汇总

PHP入门基础之知识汇总

PHP官网:https://www.php.net/1、php基础语法:标准风格 <? php 代码段; ?>如果文档中只有PHP代码,结果标记要省略(规范?)短风格 <?代码段;...

PHPCMS实现表单提交数据功能

PHPCMS实现表单提交数据功能

PHPCMS实现表单提交数据功能一般的童鞋可能都会遇到明明在后台设置了表单,为啥在前台页面只提交了一次就不能提交了。造成这个原因是因为在phpcms后台表单设置里,默认设置了否的“允许同一IP多次提交...

Openssl常用功能和SSO单点登录逻辑

Openssl常用功能和SSO单点登录逻辑

Openssl 常用功能介绍一、openssl rand 产生随机数openssl rand 用于产生指定长度个 bytes 的随机字符。实例如下:E:\OpenSSL\foo>openssl...

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

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

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

PHP入门基础之MySQL基础

PHP入门基础之MySQL基础

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

发表评论

访客

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

分享:

支付宝

微信