织梦cmsf表单提交到邮箱 织梦表单发送到邮箱 织梦自定义表单发邮箱

大家在做织梦做网站开发时会遇到一个问题:织梦的自定义表单是一个很鸡肋的功能,不仅在后台展示得奇丑,而且也没有提醒功能,使用起来很不方便。很多人用织梦自定义表单时,都想用户提交表单的时候可以发送到自己的邮箱里面去提醒自己。这样省了经常去织梦网站后台看最新的表单情况。

第一步:打开织梦后台,系统->核心参数 开启smtp

第二步:

修改/plus/diy.php代码。打开网站根目录下的plus文件 夹,里面有个diy.php文件(表单提交后处理文件),打开它,在85行上下有如下代码: $query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar)  VALUES (NULL, 0 $addvalue); ";这个代码就是将表单数据写入数据库,那么我们就在他下方,加上发送邮件的功能,代码如下:

$mailtitle = "用户订单信息";//邮件标题
$mailbody = "称呼:{$name}\r\n邮箱:{$email}\r\n所在城市:{$city}\r\n国家:{$guojia}\r\n电话:{$tel}\r\n类别:{$qudao}";//$name中name是该input元素的id号
$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服务
$smtp->debug = false;//不起用调试
$smtp->sendmail($cfg_smtp_usermail,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);//发送邮件

第三步:打开qq或者其他邮箱找到设置并开启smtp

我是以新浪为例(ps:不会自行百度)

到这就完成了可以发送邮件测试了。

我测试新浪有编码问题修改如下:

首先我们打开织梦的邮件发送文件,include/mail.class.php文件,查找以下的代码:
$header .= "Content-Type:text/html \r\n" ;修改成  
$header .= "Content-Type:text/html; charset=utf-8\r\n";
 
查找到:$header .= "From: $webname<".$from.">\r\n";
在此行代码上面添加一行代码:
$webname = "=?".$GLOBALS['cfg_soft_lang']."?B?".base64_encode('标题名称标题名称')."?=";

到这算正式完成

但新浪还是有点小问题,出现的内容还是有编码问题,但标题已经ok不影响使用(ps:你要知道什么问题可以告诉我在修正)

注意:如果自定义表单发送邮箱不成功,一般有如下的原因:
无论是哪个供商商的邮箱都要开启smtp服务。smtp服务一般在邮箱设置选项里面都可以选择。
邮箱是否设置独立密码,如果设置了独立密码,那么请用独立密码。

收集的网址

https://9iphp.com/opensystem/dede/871.html 

https://blog.csdn.net/shuanghusun/article/details/52070993

https://9iphp.com/opensystem/dede/1054.html

http://www.szlikun.cn/news/jishufenxiang/article-246.html

http://www.zuimoban.com/php/dedecms/8456.html

猜你喜欢

转载自www.cnblogs.com/li-sir/p/9441818.html