本文主要讲解《Dedecms教程:自定义表单发送指定邮件并解决内容乱码等问题》的详细内容
dedecms 邮件打开网站根目录下的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会员系统发送验证邮件乱码问题。
本网刊登的文章均仅代表作者个人观点,并不代表本网立场。文中的论述和观点,敬请读者注意判断。
2021-02-24
2021-02-08
2021-02-08
2021-02-24
2021-02-08
2021-02-08
2021-02-08
2021-02-08