新聞中心
Dedecms教程:自定義表單發(fā)送指定郵件并解決內(nèi)容亂碼等問題
作者 / 無憂主機 時間 2015-07-30 02:26:46
很多時候我們都遇到訪客提交了表單,但管理員并不知道,這樣就錯失了一個客戶,今天無憂小編就來解決這個問題;當客戶提交自定義表單的時候都,織夢(dedecms)網(wǎng)站自定義表單設(shè)置好后會提交到后臺,能向指定好的郵箱發(fā)送一封郵件,郵件內(nèi)容甚至可以是表單的內(nèi)容,這樣我們就可以直接聯(lián)系客戶了;快捷高效而且不會錯失任何一個客戶,現(xiàn)在給大家分享一下將自定義表單信息提交到指定郵箱: 首先在織夢網(wǎng)站后臺,進入系統(tǒng)--系統(tǒng)基本參數(shù)--核心設(shè)置里面,配給郵件發(fā)送服務(wù),如下圖: dedecms 郵件服務(wù)配置 dedecms 郵件 打開網(wǎng)站根目錄下的plus文件夾,里面有個diy.php文件(表單提交后處理文件),打開它,在85行上下有如下代碼:
$query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar) VALUES (NULL, 0 $addvalue); ";這個代碼就是將表單數(shù)據(jù)寫入數(shù)據(jù)庫,那么我們就在他下方,加上發(fā)送郵件的功能:
$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);//發(fā)送郵件 (這個是發(fā)給管理員自己)如要發(fā)給其他人,將上面的代碼 修改下面的
$cfg_smtp_usermail2="XXXXX@qq.com,yyyyyy@qq.com"; //發(fā)送多人郵件 $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會員系統(tǒng)發(fā)送驗證郵件亂碼問題。無憂主機相關(guān)文章推薦閱讀: DEDECMS點擊普通文章欄目顯示白屏解決思路 DEDECMS總結(jié):如何取消各種登錄驗證碼顯示 DEDECMS后臺登錄成功后返回到登錄界面的解決方法
本文地址:http://www.gle-technology.com/dedecms/19821.html