php邮件接收到表单信息为什么乱码,Dedecms教程:自定义表单发送指定邮件并解决内容乱码等问题...

很多时候我们都遇到访客提交了表单,但管理员并不知道,这样就错失了一个客户,今天无忧小编就来解决这个问题;当客户提交自定义表单的时候都,织梦(dedecms)网站自定义表单设置好后会提交到后台,能向指定好的邮箱发送一封邮件,邮件内容甚至可以是表单的内容,这样我们就可以直接联系客户了;快捷高效而且不会错失任何一个客户,现在给大家分享一下将自定义表单信息提交到指定邮箱:

首先在织梦网站后台,进入系统--系统基本参数--核心设置里面,配给邮件发送服务,如下图:

dedecms 邮件服务配置

becb017e5992cbe972d51f609aeb9d49.png

dedecms 邮件

561dee1d8406272ac0d1ccda9fc6f08d.png

打开网站根目录下的plus文件夹,里面有个diy.php文件(表单提交后处理文件),打开它,在85行上下有如下代码:$query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar) VALUES (NULL, 0 $addvalue); ";

这个代码就是将表单数据写入数据库,那么我们就在他下方,加上发送邮件的功能:

$query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar) VALUES (NULL, 0 $addvalue); ";

$mailtitle = $name."[提交表单通知]";

$mailbody = "姓名:{$name}\r\n 手机:{$tel}\r\n QQ:{$qq}\r\n 留言:{$textarea}\r\n 提交时间:{$time}\r\n";

$headers = $cfg_adminemail;

$mailtype = 'TXT';

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($cfg_smtp_usermail,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);//发送邮件 (这个是发给管理员自己)

如要发给其他人,将上面的代码 修改下面的

$cfg_smtp_usermail2="XXXXX@qq.com,yyyyyy@qq.com"; //发送多人邮件

$smtp->sendmail($cfg_smtp_usermail2,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);

这个就可以收到邮件了,可能收到的邮件还会有乱码的情况,

找到include/mail.class.php 将:

$header .= "Content-Type:text/html \r\n";

改为:

$header .= "Content-Type:text/html; charset=utf-8\r\n";

乱码问题解决。

除此之外这个方法也可以解决dedecms会员系统发送验证邮件乱码问题。

无忧主机相关文章推荐阅读:

DEDECMS点击普通文章栏目显示白屏解决思路

DEDECMS总结:如何取消各种登录验证码显示

DEDECMS后台登录成功后返回到登录界面的解决方法

本文地址:https://www.51php.com/dedecms/19821.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值