帝國cms使用qq郵箱的pop3/stmp服務(wù),任何等級的qq賬號都可用。
1、安裝php的openssl的extension,并且在php.ini中開啟此extension。(如圖1所示)
2、開通qq郵箱的POP3/SMTP服務(wù),并且獲取重要的“授權(quán)碼”。此授權(quán)碼是作為密碼登錄郵箱的。(如圖2所示)
3、按下圖填寫帝國cms的SMTP模塊設(shè)置,其中SMTP的端口請?zhí)顚?quot;465"。“郵箱登陸密碼”請?zhí)钊氲诙降?ldquo;授權(quán)碼”。(如圖3所示)
4、修改eclassclass.smtp.php,在大約第62行(帝國cms7.2版本)的$host前添加"ssl://",請不要忽略"ssl://".$host之前的點號。(如圖4所示)
5、在e文件夾下新建一個send_mail.php文件,輸入以下代碼(記得修改下面中郵件接收者的E-mail):(如圖5所示)
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | <?phprequire('class/connect.php');require('class/db_sql.php');$link=db_connect();$empire=new mysqlquery();echo "send start <br />";include('class/SendEmail.inc.php');$mail_test="xxx@qq.com";//郵件接收者的E-mail$sm=EcmsToSendMail($mail_test, "郵件測試", "testtesttesttesttest");//郵件接收者的E-mail, 郵件標(biāo)題, 郵件正文echo $mail_test." send over <br />";db_close();$empire=null;?> |
6、在瀏覽器中輸入"[網(wǎng)站地址]/e/send_mail.php"測試。(本地localhost也可用)
7、測試完成后刪除esend_mail.php文件。
原創(chuàng)]新訂單、新反饋信息、新投稿 各種場景 各種給管理員發(fā)通知郵件
帝國不知道從什么時候就引入了一個發(fā)送郵件類,還可以在后臺設(shè)置管理員郵箱,和發(fā)送郵件的相關(guān)參數(shù),但是準(zhǔn)備了這么多材料,實際上系統(tǒng)用到的機會不多,大約只在會員注冊驗證、會員重置密碼,和管理員向會員發(fā)送消息時用到了郵件功能。實際上帝國這么多功能,在很多關(guān)鍵位置如果能增加一個給管理員發(fā)送通知郵件的功能,那會使管理員帶來很大的方便,起碼不用一直掛著后臺了。由于帝國已經(jīng)支持發(fā)送郵件了,所以這些功能實現(xiàn)起來很簡單,有需要的同學(xué)可以參考一下。
一、設(shè)置管理員郵件地址和發(fā)郵參數(shù)
后臺,系統(tǒng)設(shè)置,系統(tǒng)參數(shù)設(shè)置
基本屬性標(biāo)簽:管理員郵箱。以后的通知郵件都會發(fā)到這一郵箱
FTP/EMAIL標(biāo)簽:如果主機支持mail函數(shù),則個人感覺用這個效率可能高一點,主機不支持的話也沒關(guān)系,還可以用SMTP,設(shè)置方法跟郵件客戶端一樣。
需要說明的是,如果想用gmail的帳號發(fā)送實現(xiàn)起來比較麻煩,gmail的smtp需要ssl,且不說帝國自帶的郵件發(fā)送類不支持ssl,就是帝國后臺設(shè)置郵件的地方也沒有提供ssl選項,所以就不折騰了,用國內(nèi)的郵箱帳號發(fā)就是了。
二、新增給管理員發(fā)郵件的函數(shù)
找到eclassSendEmail.inc.php,結(jié)尾下加入以下代碼
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | //給管理員信箱發(fā)送通知郵件新增函數(shù)function SendNoticeToAdmin($subject,$body){global $empire,$dbtbpre;$empire=new mysqlquery();$pr=$empire->fetch1("select email from {$dbtbpre}enewspublic limit 1");if(is_array($body)){foreach($body as $value){$key=key($body);next($body);$msgtext .= "$key:"."$value"."n";}}else{$msgtext=$body;}$msgtext .= "rnrn此郵件由系統(tǒng)自動發(fā)出,請管理員盡快處理nr";$sm=EcmsToSendMail($pr['email'],$subject,$msgtext);return $sm;} |
三、給管理員發(fā)郵件,以下是不同的場景,可以根據(jù)需要自由修改
1.有新訂單時
修改eenewsindex.php,在大約184行
AddDd($_POST);
在這一行前面加上
| 1 2 | @include("../class/SendEmail.inc.php");SendNoticeToAdmin("有新訂單!訂單號".$_POST[ddno],$_POST); |
完活,這只是起到一個提醒功能,所以郵件界面什么的就不用考慮了,管理員收到郵件后去帝國后臺處理就是了。
2.有新的投稿時
修改eclassqinfofun.php,在大約850行
printerror("AddQinfoSuccess",$reurl,1);
在這一行前面加上
| 1 2 | @include('SendEmail.inc.php');SendNoticeToAdmin("收到來自".$add['title']."的投稿",$add); |
3.有新的信息反饋時
修改eclassq_functions.php,在大約468行
$reurl=DoingReturnUrl("../tool/feedback/?bid=$bid",$add['ecmsfrom']);
在這一行前面加上:
| 1 2 | @include("SendEmail.inc.php");SendNoticeToAdmin("收到來自".$add['title']."的信息反饋",$add); |
4.有新留言時
修改eenewsindex.php,在大約215行
AddGbook($_POST);
在這一行前面加上:
| 1 2 | @include("../class/SendEmail.inc.php");SendNoticeToAdmin("收到新留言",$_POST); |
5.有會員在網(wǎng)站上注冊(如果是注冊需要審核,收到這封郵件管理員可以及時去后臺審核)
修改eenewsindex.php,在大約74行
register($username,$password,$repassword,$email);
在這一行前面加上
| 1 2 | @include('../class/SendEmail.inc.php');SendNoticeToAdmin("新會員注冊,用戶名:".$username,$_POST); |
6.網(wǎng)站后臺啟用注冊需要郵箱驗證,驗證通過后會員會收到一封歡迎信
由于這個郵件是給會員看的,所以內(nèi)容格式排版上就要講究一下了
(1)在eclass下新增一條文件,命名user_template_register.txt,內(nèi)容如下(僅供參考,可自行修改)
歡迎[!--USERNAME--]注冊本網(wǎng)站。
(2)修改eclassqmemberfun.php,在大約188行
printerror('ActUserSuccess',$public_r['newsurl'],1);
在這一行前面加上
| 1 2 3 4 | @include('SendEmail.inc.php');$msgtext=file_get_contents("user_template_register.txt");$msgtext=str_replace('[!--USERNAME--]',$r[username],$msgtext);EcmsToSendMail($r[username],"歡迎注冊",$msgtext); |
此久,還有一些場景也需要用到郵件,比如
1)網(wǎng)站沒有啟用郵箱驗證,但是會員注冊后需要管理員手工審核,審核通過后會員會收到一封歡迎信
2)商城系統(tǒng),會員下單后會實時收到郵件通知,訂單通過審核后,也會再給客戶一封郵件
實現(xiàn)起來都不難,有需要的自己加上就是了
上傳以下圖片:
新聞熱點
疑難解答