織夢(mèng)DedeCMS實(shí)現(xiàn)自定義表單提交后發(fā)送指定QQ郵箱的方法
一、登陸QQ郵箱——設(shè)置——賬戶,找到POP3/IMAP/SMTP,開(kāi)啟,現(xiàn)在的郵箱開(kāi)啟POP3/SMTP都要授權(quán)碼,記下你的授權(quán)碼,等一下是作為密碼使用的。
開(kāi)啟成功后是這樣的:
二、登陸網(wǎng)站后臺(tái)——系統(tǒng)——基本參數(shù)設(shè)置——核心設(shè)置,對(duì)比標(biāo)記的內(nèi)容根據(jù)自己的郵箱填寫完整:
同時(shí)我們?cè)诤笈_(tái)添加一個(gè)變量名為cfg_email;用來(lái)接收郵件,西安做網(wǎng)站。
郵箱和后臺(tái)都OK后,我們開(kāi)始用上phpmailer。
class.phpmailer.php、class.phpmaileroauth.php、class.pop3.php、 class.smtp.php、PHPMailerAutoload.php
把這5個(gè)php文件放到你dedecms程序plus文件夾下
三、最后一步,打開(kāi)/plus/diy.php,找到代碼(大概在第93行):
$id = $dsql->GetLastID(); |
在它的前面一行加入代碼:
//郵件發(fā)送開(kāi)始 $fieldlist = $diy->getFieldList(); $addvalue_ary1 = explode(',', $addvalue); $addvalue_ary = array_filter($addvalue_ary1); $i = 1; foreach($fieldlist as $field=>$fielddata) { $emailbody .= $fielddata[0].':'.$addvalue_ary[$i].'<br />'; $i ++; } global $cfg_smtp_server, $cfg_adminemail, $cfg_smtp_port, $cfg_smtp_usermail, $cfg_smtp_password, $cfg_webname, $cfg_basehost, $cfg_smtp_user; //引入PHPMailer的核心文件 使用require_once包含避免出現(xiàn)PHPMailer類重復(fù)定義的警告 require_once("class.phpmailer.php"); require_once("class.smtp.php"); //實(shí)例化PHPMailer核心類 $mail = new PHPMailer(); //是否啟用smtp的debug進(jìn)行調(diào)試 開(kāi)發(fā)環(huán)境建議開(kāi)啟 生產(chǎn)環(huán)境注釋掉即可 默認(rèn)關(guān)閉debug調(diào)試模式 $mail->SMTPDebug = 1; //使用smtp鑒權(quán)方式發(fā)送郵件 $mail->isSMTP(); //smtp需要鑒權(quán) 這個(gè)必須是true $mail->SMTPAuth=true; //鏈接qq域名郵箱的服務(wù)器地址 $mail->Host = $cfg_smtp_server; //設(shè)置使用ssl加密方式登錄鑒權(quán) $mail->SMTPSecure = 'ssl'; //設(shè)置ssl連接smtp服務(wù)器的遠(yuǎn)程服務(wù)器端口號(hào),以前的默認(rèn)是25,但是現(xiàn)在新的好像已經(jīng)不可用了 可選465或587 $mail->Port = $cfg_smtp_port; //設(shè)置smtp的helo消息頭 這個(gè)可有可無(wú) 內(nèi)容任意 // $mail->Helo = 'Hello smtp.qq.com Server'; //設(shè)置發(fā)件人的主機(jī)域 可有可無(wú) 默認(rèn)為localhost 內(nèi)容任意,建議使用你的域名 $mail->Hostname = $cfg_basehost; //設(shè)置發(fā)送的郵件的編碼 可選GB2312 我喜歡utf-8 據(jù)說(shuō)utf8在某些客戶端收信下會(huì)亂碼 $mail->CharSet = 'UTF-8'; //設(shè)置發(fā)件人姓名(昵稱) 任意內(nèi)容,顯示在收件人郵件的發(fā)件人郵箱地址前的發(fā)件人姓名 $mail->FromName = $cfg_smtp_user; //smtp登錄的賬號(hào) 這里填入字符串格式的qq號(hào)即可 $mail->Username = $cfg_smtp_usermail; //smtp登錄的密碼 使用生成的授權(quán)碼(就剛才叫你保存的最新的授權(quán)碼) $mail->Password = $cfg_smtp_password; //設(shè)置發(fā)件人郵箱地址 這里填入上述提到的“發(fā)件人郵箱” $mail->From = $cfg_smtp_usermail; //郵件正文是否為html編碼 注意此處是一個(gè)方法 不再是屬性 true或false $mail->isHTML(true); //設(shè)置收件人郵箱地址 該方法有兩個(gè)參數(shù) 第一個(gè)參數(shù)為收件人郵箱地址 第二參數(shù)為給該地址設(shè)置的昵稱 不同的郵箱系統(tǒng)會(huì)自動(dòng)進(jìn)行處理變動(dòng) 這里第二個(gè)參數(shù)的意義不大 $mail->addAddress($cfg_email,$cfg_smtp_user); //添加多個(gè)收件人 則多次調(diào)用方法即可 // $mail->addAddress('xxx@163.com','lsgo在線通知'); //添加該郵件的主題 $mail->Subject = $diy->name; //添加郵件正文 上方將isHTML設(shè)置成了true,則可以是完整的html字符串 如:使用file_get_contents函數(shù)讀取本地的html文件 $mail->Body = $emailbody; //為該郵件添加附件 該方法也有兩個(gè)參數(shù) 第一個(gè)參數(shù)為附件存放的目錄(相對(duì)目錄、或絕對(duì)目錄均可) 第二參數(shù)為在郵件附件中該附件的名稱 // $mail->addAttachment('./d.jpg','mm.jpg'); //同樣該方法可以多次調(diào)用 上傳多個(gè)附件 // $mail->addAttachment('./Jlib-1.1.0.js','Jlib.js'); if(!$mail->send()) { echo "Fail to send. <p>"; echo "Cause of the error: " . $mail->ErrorInfo; exit; } //郵件發(fā)送結(jié)束 |
因?yàn)閱⒂胹mtp的debug進(jìn)行調(diào)試,所以在提交表單的時(shí)候會(huì)有調(diào)試代碼出現(xiàn),我們測(cè)試成功后可以把加入到diy.php中的代碼:
$mail->SMTPDebug = 1; |
換為:
$mail->SMTPDebug = 0; |
相關(guān)文章:
-
帝國(guó)CMS是什么程序 帝國(guó)CMS是一套開(kāi)源的靜態(tài)頁(yè)面程序,憑借超高的擴(kuò)展性,很多知名的新聞?wù)军c(diǎn)、行業(yè)站點(diǎn)都是應(yīng)用的帝國(guó)CMS后端。因?yàn)榈蹏?guó)CMS和dedecms一樣都是生成靜態(tài)頁(yè)面的,所以非常利于...
-
域名解析DNS分為顯性URL和隱形URL,顯性URL和隱形URL有什么區(qū)別?隱形URL和顯性URL哪個(gè)更有利于SEO?顯性URL相當(dāng)于域名了302重定向,隱形URL使用iframe框架技術(shù)隱藏真實(shí)目標(biāo)地址,顯性URL更有利于...
-
在常見(jiàn)的CMS系統(tǒng)中,我對(duì)dedecms算是比較熟悉的,自己網(wǎng)站用的也是這個(gè)系統(tǒng)。系統(tǒng)功能強(qiáng)大使用靈活,相信這也是它受到大多數(shù)中小站長(zhǎng)青睞的原因。 再好的系統(tǒng)也有照顧不周的地方,很多站...
-
這篇文章主要為大家詳細(xì)介紹了dedecms后臺(tái)增加php導(dǎo)出excel功能實(shí)現(xiàn)辦法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,有需要的朋友可以收藏方便以后借鑒。 不少朋友希望織夢(mèng)的后臺(tái)...
-
第一次使用的插件是 pdfobject.js 百度網(wǎng)盤下載地址:http://pan.baidu.com/s/1kUPhYdT 加載 script src=/style/js/pdfobject.js /script script type=text/javascript window.onload = function (){ var success = new PDFObject({ url: pdf文件地...
-
網(wǎng)上有一種方法是copy+unlink來(lái)移動(dòng)文件,但是遇到大文件時(shí)會(huì)消耗大量時(shí)間,對(duì)性能不怎么友好,可以使用rename()來(lái)移動(dòng)文件,速度非???關(guān)于rename()函數(shù) bool rename ( string $oldname , string $newname...
-
基于我們公司可選的幾種推廣方式: 一、關(guān)鍵詞優(yōu)化排名推廣(推薦) 指定關(guān)鍵詞推廣,按天付費(fèi),推廣我們業(yè)務(wù)中最重要的一些關(guān)鍵詞,達(dá)到百度首頁(yè)才收費(fèi),大概一個(gè)關(guān)鍵詞10元/天左右。...
-
插件介紹 wordpress程序網(wǎng)站在發(fā)布文章時(shí)可以給每一片文章添加與之相關(guān)的TAG標(biāo)簽,對(duì)于TAG標(biāo)簽可以生成很多頁(yè)面,增加搜索引擎對(duì)內(nèi)容的抓取量。 WP Auto Keywords插件就是一款能自動(dòng)給文章添加...
-
5.7 生成列表頁(yè) 改動(dòng) include/arc.listview.class.php 1.先設(shè)置 關(guān)閉副欄目(在系統(tǒng)----系統(tǒng)基本參數(shù)性能選項(xiàng)里) 2.一般網(wǎng)站不需要 欄目交叉 交叉 所以 找到94行注釋掉: //獲得交叉欄目ID /*if($this-Type...
-
使用preg_replace將刪除所有空白(包括制表符等) $string = user na me $string = preg_replace(/\s+/, , $string); echo $string; // username preg_replace(/\s/u, ,$string) u (PCRE8) 此修正符打開(kāi)一個(gè)與perl不兼容的附加功能. 模式...