位置: IT常识 - 正文

织梦dedecms提交自定义表单后发送到指定邮箱(将织梦dedecms转换到wordpress)

编辑:rootadmin

推荐整理分享织梦dedecms提交自定义表单后发送到指定邮箱(将织梦dedecms转换到wordpress),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:织梦添加文章如何修改高级参数,织梦网站怎么添加关键词,织梦怎么添加相关,织梦网站怎么添加关键词,织梦怎样实现文件上传,织梦添加文章如何修改高级参数,织梦怎样实现文件上传,织梦发布文章栏目怎么不显示,内容如对您有帮助,希望把文章链接给更多的朋友!

网上很多教程都是用dedecms自带的邮件库发送邮件,而且是写死要发送的字段内容,今天我们用phpmailer来给站长发送自定义表单提交的数据到指定邮箱上(QQ邮箱,163邮箱都可以),不写死任何东西,有什么字段就提交发送什么字段。

操作之前,我们要先搞定用来发送邮件的那个邮箱,说白了就是要开启SMTP。

QQ篇

登录QQ邮箱-设置-账户,找到POP3/IMAP/SMTP,开启,现在的邮箱开启POP3/SMTP都要授权码了,千万要记下你的授权码啊,等一下是作为密码使用的。

开启成功后是这样的

163邮箱篇

163邮箱开启POP3/IMAP/SMTP也是要授权码的,他是自定义的,不能跟邮箱的密码一样,所以千万要记得自己设置的授权码,一会用到它

这里提示也是要开启授权码的

根据自己邮箱开启POP3/IMAP/SMTP,接下来我们来设置后台,认真看下图红色圈着的,一个都不能少

邮箱和后台都OK后,我们开始用上phpmailer。

PHPMailer项目地址:https://github.com/PHPMailer/PHPMailer使用git命令克隆到本地,或直接在该项目页面的右下方点击“Download ZIP”即可获取到完整的PHPMailer代码包,再到本地解压即可。

PHPMailer需PHP的socket扩展支持,而PHPMailer链接qq域名邮箱时需要ssl加密方式,固php还得openssl的支持,可以查看phpinfo,如下两项均存在则可以使用,其中openssl版本号之类不用管;许多虚拟主机中的php是不支持openssl扩展的,那你可能就悲剧了。

如果你是用官方程序的发送邮件函数,那你的主机要开启fsockopen pfsockopen

检查是否开启

echo(function_exists("fsockopen"));

织梦dedecms提交自定义表单后发送到指定邮箱(将织梦dedecms转换到wordpress)

输出1,就是开启了,0就是没开启。

出于安性考虑,空间商通常会将fsockopen pfsockopen函数禁用,以防黑客入侵

但是关闭fsockopen pfsockopen函数sendmail发邮件不成功怎么办?

我们可以用其他函数代替,如stream_socket_client()。

具体操作方法:

搜索程序中的字符串fsockopen(替换为stream_socket_client(,然后,将原fsockopen函数中的端口参数“80”删掉,并加到$host。

示例如下:

修改前:

$fp = fsockopen($host, 80, $errno, $errstr, 30);

$fp = fsock

修改后:

$fp = stream_socket_client('tcp://'.$host.'80', $errno, $errstr, 30);

$fp = stream_socket_client('tcp://'.$host.':'.$port, $errno, $errstr, $connection_timeout);

这样邮件就可以正常发送了!

由于我们下载下来的PHPMailer文件夹里边的文件有很多我们是用不上的,所以我们也没必要浪费这些内存。我们可以对这个文件夹瘦身,在这里我只保存了以下的几个文件:

class.phpmailer.php、class.phpmaileroauth.php、class.pop3.php、class.smtp.php、PHPMailerAutoload.php

把这5个php文件放到你dedecms程序plus文件夹下

最后一步,打开/plus/diy.php,找到

$id = $dsql->GetLastID();

在它的前面一行加入

//邮件发送开始$fieldlist=$diy->getFieldList();$addvalue_ary1=explode(',',$addvalue);$addvalue_ary=array_filter($addvalue_ary1);$i=1;foreach($fieldlistas$field=>$fielddata){$emailbody.=$fielddata[0].':'.$addvalue_ary[$i].'<br/>';$i++;}global$cfg_smtp_server,$cfg_adminemail,$cfg_smtp_port,$cfg_smtp_usermail,$cfg_smtp_password,$cfg_webname,$cfg_basehost,$cfg_smtp_user;//引入PHPMailer的核心文件使用require_once包含避免出现PHPMailer类重复定义的警告require_once("class.phpmailer.php");require_once("class.smtp.php");//实例化PHPMailer核心类$mail=newPHPMailer();//是否启用smtp的debug进行调试开发环境建议开启生产环境注释掉即可默认关闭debug调试模式$mail->SMTPDebug=1;//使用smtp鉴权方式发送邮件$mail->isSMTP();//smtp需要鉴权这个必须是true$mail->SMTPAuth=true;//链接qq域名邮箱的服务器地址$mail->Host=$cfg_smtp_server;//设置使用ssl加密方式登录鉴权$mail->SMTPSecure='ssl';//设置ssl连接smtp服务器的远程服务器端口号,以前的默认是25,但是现在新的好像已经不可用了可选465或587$mail->Port=$cfg_smtp_port;//设置smtp的helo消息头这个可有可无内容任意//$mail->Helo='Hellosmtp.qq.comServer';//设置发件人的主机域可有可无默认为localhost内容任意,建议使用你的域名$mail->Hostname=$cfg_basehost;//设置发送的邮件的编码可选GB2312我喜欢utf-8据说utf8在某些客户端收信下会乱码$mail->CharSet='UTF-8';//设置发件人姓名(昵称)任意内容,显示在收件人邮件的发件人邮箱地址前的发件人姓名$mail->FromName=$cfg_smtp_user;//smtp登录的账号这里填入字符串格式的qq号即可$mail->Username=$cfg_smtp_usermail;//smtp登录的密码使用生成的授权码(就刚才叫你保存的最新的授权码)$mail->Password=$cfg_smtp_password;//设置发件人邮箱地址这里填入上述提到的“发件人邮箱”$mail->From=$cfg_smtp_usermail;//邮件正文是否为html编码注意此处是一个方法不再是属性true或false$mail->isHTML(true);//设置收件人邮箱地址该方法有两个参数第一个参数为收件人邮箱地址第二参数为给该地址设置的昵称不同的邮箱系统会自动进行处理变动这里第二个参数的意义不大$mail->addAddress($cfg_email,$cfg_smtp_user);//添加多个收件人则多次调用方法即可//$mail->addAddress('xxx@163.com','lsgo在线通知');//添加该邮件的主题$mail->Subject=$diy->name;//添加邮件正文上方将isHTML设置成了true,则可以是完整的html字符串如:使用file_get_contents函数读取本地的html文件$mail->Body=$emailbody;//为该邮件添加附件该方法也有两个参数第一个参数为附件存放的目录(相对目录、或绝对目录均可)第二参数为在邮件附件中该附件的名称//$mail->addAttachment('./d.jpg','mm.jpg');//同样该方法可以多次调用上传多个附件//$mail->addAttachment('./Jlib-1.1.0.js','Jlib.js');if(!$mail->send()){echo"Failtosend.<p>";echo"Causeoftheerror:".$mail->ErrorInfo;exit;}//邮件发送结束

测试自定义表单提交效果

免责

本文链接地址:https://www.jiuchutong.com/zhishi/310928.html 转载请保留说明!

上一篇:计算机网络面试大总结(计算机网络面试八股文)

下一篇:php桥接模式的作用(桥接模式例子)

  • 小米手环音乐怎么开启音乐权限(小米手环音乐怎么开启权限)

    小米手环音乐怎么开启音乐权限(小米手环音乐怎么开启权限)

  • 红米手表2怎么自定义表盘(红米手表2怎么进入开发者模式)

    红米手表2怎么自定义表盘(红米手表2怎么进入开发者模式)

  • 荣耀30pro支持电脑模式的吗(荣耀30pro支持电信双模吗)

    荣耀30pro支持电脑模式的吗(荣耀30pro支持电信双模吗)

  • 微信怎么往群里发个人名片(微信怎么往群里转账)

    微信怎么往群里发个人名片(微信怎么往群里转账)

  • 华为手机微信来信息没有声音怎么回事(华为手机微信来电没声音怎么恢复)

    华为手机微信来信息没有声音怎么回事(华为手机微信来电没声音怎么恢复)

  • 全民k歌怎么录视频唱歌(全民k歌怎么录屏唱歌)

    全民k歌怎么录视频唱歌(全民k歌怎么录屏唱歌)

  • iwatch4能一直亮屏吗(apple watch series 4常亮)

    iwatch4能一直亮屏吗(apple watch series 4常亮)

  • 打qq电话闹钟会响吗(打qq电话闹钟会响吗华为)

    打qq电话闹钟会响吗(打qq电话闹钟会响吗华为)

  • vivox30是水滴屏吗(ivvi x30pro 水滴屏八核)

    vivox30是水滴屏吗(ivvi x30pro 水滴屏八核)

  • air3可以外接u盘吗(air能插优盘吗)

    air3可以外接u盘吗(air能插优盘吗)

  • UC5701多久恢复(uc578)

    UC5701多久恢复(uc578)

  • 怎么看手机支不支持tws(怎么看手机支不支持快充)

    怎么看手机支不支持tws(怎么看手机支不支持快充)

  • 苹果手机照相声音怎么关闭(苹果手机照相声音怎么开启)

    苹果手机照相声音怎么关闭(苹果手机照相声音怎么开启)

  • 手机没声音了如何恢复(手机没声音了如何恢复打电话有声)

    手机没声音了如何恢复(手机没声音了如何恢复打电话有声)

  • 电脑忘记密码怎么解锁(电脑忘记密码怎么查看密码)

    电脑忘记密码怎么解锁(电脑忘记密码怎么查看密码)

  • 怎么成为淘宝达人lv2(怎么成为淘宝达人开通直播)

    怎么成为淘宝达人lv2(怎么成为淘宝达人开通直播)

  • 如何将电脑上的文件发给QQ里的人(如何将电脑上的微信记录转移至手机)

    如何将电脑上的文件发给QQ里的人(如何将电脑上的微信记录转移至手机)

  • zao怎么去水印(zao水印去除)

    zao怎么去水印(zao水印去除)

  • 运算器是执行什么和什么运算的部件(运算器是执行什么的器件)

    运算器是执行什么和什么运算的部件(运算器是执行什么的器件)

  • 数字机顶盒怎么连接显示器(数字机顶盒怎么搜台)

    数字机顶盒怎么连接显示器(数字机顶盒怎么搜台)

  • vivoiqoo是什么电池(vivi iqoo是什么手机)

    vivoiqoo是什么电池(vivi iqoo是什么手机)

  • 电脑回收站会自动清空吗(电脑回收站会自动删除东西吗)

    电脑回收站会自动清空吗(电脑回收站会自动删除东西吗)

  • 前端必备:五大css自动化生成网站(稀有级别!)(前端种类)

    前端必备:五大css自动化生成网站(稀有级别!)(前端种类)

  • eval命令  重新运算求出参数(window.eval方法)

    eval命令 重新运算求出参数(window.eval方法)

  • 年报资金数额要怎样填
  • 出口退税贷方余额是什么意思
  • 用携税宝怎么申报增值税
  • 零星物流运费无法支付
  • 支付货款未收到产品算货值吗
  • 分支机构如何领购发票
  • 固定资产报废的会计科目
  • 冲销成本结转需要什么凭证
  • 员工入股怎么分成
  • 企业退休返聘人员工资是否缴纳单位社保
  • 没有增值税发票怎么出口
  • 注册资金印花税是资金账簿吗
  • 豪华小汽车消费税
  • 租房中介费计入租赁费吗
  • 在建工程转固定资产需提供的资料
  • 跨年度的房租发票怎么做账
  • 工会经费的开支必须取得发票么
  • 苹果手机键盘剪切板在哪里打开
  • window10的帮助与支持窗口在哪
  • 超市购物卡返点一般是几个点
  • 存量资金上缴国库是哪个文件规定了
  • 生产车间设备检测费计入什么科目
  • 进口设备和备件有哪些
  • 认缴出资额日期没有是什么意思
  • php利用云片网实现短信验证码功能的示例代码
  • 老板的工资属于
  • 建筑业预缴企业所得税表项目金额填合同金额吗
  • php get post
  • 劳动合同到期补偿金怎么算
  • 期间费用的会计科目
  • 用php写个简单的编程
  • laravel框架实现增删改查
  • vue3安装配置
  • vue的slice
  • 后浪是什么意思网络用语
  • 什么叫呆账损失
  • 加油票发票抬头开错了
  • 投标保证金属于什么费用
  • 公允价值变动收益是指什么
  • openglskia是什么意思
  • 上年所得税费用借方有余额,怎么调整
  • 织梦如何添加浮动广告
  • 劳务派遣工资的发放单位
  • 所得税做账是否需要发票
  • 小额贷款公司如何做账
  • mysql中文乱码解决
  • 小规模纳税人企业所得税2023
  • 一般纳税人销售自己使用过的汽车
  • 按差额征税
  • 进口环节增值税额
  • 库存商品怎么计提坏账
  • 含有增值税的工作有哪些
  • 补发工资怎么补发
  • 专项存款可以放在什么科目
  • 住宿费开的增值税专用发票怎么记账
  • 自建的固定资产折旧计入哪里
  • 财产租赁所得是指
  • 服务佣金最高可以收多少
  • 股票增发给谁
  • 事业单位预收账款转收入如何做账
  • 本年利润是负数怎么写凭证
  • 企业利润率计算公式是怎样的
  • 什么是递延所得税?
  • mysql random函数
  • mysql的ip怎么看
  • sql两个数据怎么合并到一起
  • sql server触发器的编写与使用
  • 网卡驱动intel
  • 在bois如何设置C盘启动
  • windows7旗舰版开机声音
  • linux安装tmux
  • shell监控端口状态
  • 购置税发票怎么看自己交了多少税
  • 国税局定额发票查询
  • 申报参保时间怎么填
  • 本期预缴税额怎么填
  • 融资租赁出租会计账务处理流程
  • 天津住房公积金管理中心官网
  • 尾矿治理文件
  • 对方申请了红字信息表我这边怎么操作
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设