diyform.cls.php,织梦dedeCMS做了表单想自动发邮件到你的邮箱

写这个文章的意义是记录,方便自己或朋友享用,当你用织梦dedeCMS做了表单后,想自动发邮件到你常用的邮件中,这样的教程网上多的很,但有部分是转载别人,没经过实践或修改的,专业和可靠性一般。下面我们把如何做到方法写在网上,让您省时、省力的完成你的做网站项目。

一、进入你的dedecms后台

点 系统,系统设置、系统基本参数、核心设置

是否启用smtp方式发送邮件:是

smtp服务器:smtp.exmail.qq.com

smtp服务器端口:25

SMTP服务器的用户邮箱:web@yiyada.com

SMTP服务器的用户帐号:web@yiyada.com

SMTP服务器的用户密码:ri9wOSCxj

点“确定”保存。

964806bf3226c130add216f35ae51c5e.png

二、创建自定义表单

点:核心、频道模型、自定义表单、[增加新的自定义表单]

dedecms创建自定义表单,这里省略,不专门介绍。

三、重点在这里

打开FTP,找到/wwwroot/plus/ diy.php

打开diy.php ,搜索:

require_once DEDEINC.'/diyform.cls.php';

$diy = new diyform($diyid);

位置在24、25行,请看明白后替换代码:

原来程序自带的代码如下:

/*----------------------------

function Post(){ }

---------------------------*/

if($action == 'post')

{

if(empty($do))

{

$postform = $diy->getForm(true);

include DEDEROOT."/templets/plus/{$diy->postTemplate}";

exit();

}

elseif($do == 2)

{

$dede_fields = empty($dede_fields) ? '' : trim($dede_fields);

$dede_fieldshash = empty($dede_fieldshash) ? '' : trim($dede_fieldshash);

if(!empty($dede_fields))

{

if($dede_fieldshash != md5($dede_fields.$cfg_cookie_encode))

{

showMsg('数据校验不对,程序返回', '-1');

exit();

}

}

$diyform = $dsql->getOne("select * from ja02opLN2St_diyforms where diyid='$diyid' ");

if(!is_array($diyform))

{

showmsg('自定义表单不存在', '-1');

exit();

}

$addvar = $addvalue = '';

if(!empty($dede_fields))

{

$fieldarr = explode(';', $dede_fields);

if(is_array($fieldarr))

{

foreach($fieldarr as $field)

{

if($field == '') continue;

$fieldinfo = explode(',', $field);

if($fieldinfo[1] == 'textdata')

{

${$fieldinfo[0]} = FilterSearch(stripslashes(${$fieldinfo[0]}));

${$fieldinfo[0]} = addslashes(${$fieldinfo[0]});

}

else

{

${$fieldinfo[0]} = GetFieldValue(${$fieldinfo[0]}, $fieldinfo[1],0,'add','','diy', $fieldinfo[0]);

}

$addvar .= ', `'.$fieldinfo[0].'`';

$addvalue .= ", '".${$fieldinfo[0]}."'";

}

}

}

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

if($dsql->ExecuteNoneQuery($query))

{

$id = $dsql->GetLastID();

if($diy->public == 2)

{

//diy.php?action=view&diyid={$diy->diyid}&id=$id

$goto = "diy.php?action=list&diyid={$diy->diyid}";

$bkmsg = '发布成功,现在转向表单列表页...';

}

else

{

$goto = !empty($cfg_cmspath) ? $cfg_cmspath : '/';

$bkmsg = '发布成功,请等待管理员处理...';

}

showmsg($bkmsg, $goto);

}

}

}

/*----------------------------

function list(){ }

---------------------------*/

把上的代码替换成下面的代码

/*----------------------------

function Post(){ }

---------------------------*/

if($action == 'post')

{

if(empty($do))

{

$postform = $diy->getForm(true);

include DEDEROOT."/templets/plus/{$diy->postTemplate}";

exit();

}

elseif($do == 2)

{

$dede_fields = empty($dede_fields) ? '' : trim($dede_fields);

$dede_fieldshash = empty($dede_fieldshash) ? '' : trim($dede_fieldshash);

if(!empty($dede_fields))

{

if($dede_fieldshash != md5($dede_fields.$cfg_cookie_encode))

{

showMsg('数据校验不对,程序返回', '-1');

exit();

}

}

$diyform = $dsql->getOne("select * from ja02opLN2St_diyforms where diyid='$diyid' ");

if(!is_array($diyform))

{

showmsg('自定义表单不存在', '-1');

exit();

}

$addvar = $addvalue = '';

if(!empty($dede_fields))

{

$fieldarr = explode(';', $dede_fields);

if(is_array($fieldarr))

{

foreach($fieldarr as $field)

{

if($field == '') continue;

$fieldinfo = explode(',', $field);

if($fieldinfo[1] == 'textdata')

{

${$fieldinfo[0]} = FilterSearch(stripslashes(${$fieldinfo[0]}));

${$fieldinfo[0]} = addslashes(${$fieldinfo[0]});

}

else

{

${$fieldinfo[0]} = GetFieldValue(${$fieldinfo[0]}, $fieldinfo[1],0,'add','','diy', $fieldinfo[0]);

}

$addvar .= ', `'.$fieldinfo[0].'`';

$addvalue .= ", '".${$fieldinfo[0]}."'";

}

}

}

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

$mailtitle = "用户订单信息";//邮件标题

$mailbody = "姓名:{$xingming}\r\n电话/手机:{$dianhua}\r\n邮箱:{$email}\r\n详细说明您的需求:{$xuqiu}";//$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);//发送邮件

if($dsql->ExecuteNoneQuery($query))

{

$id = $dsql->GetLastID();

if($diy->public == 2)

{

//diy.php?action=view&diyid={$diy->diyid}&id=$id

$goto = "diy.php?action=list&diyid={$diy->diyid}";

$bkmsg = '发布成功,现在转向表单列表页...';

}

else

{

$goto = !empty($cfg_cmspath) ? $cfg_cmspath : '/';

$bkmsg = '发布成功,请等待管理员处理...';

}

showmsg($bkmsg, $goto);

}

}

}

/*----------------------------

function list(){ }

---------------------------*/

即可,上传完成。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值