一、設置管理員郵件地址和發郵參數
后臺,系統設置,系統參數設置
基本屬性標簽:管理員郵箱。以后的通知郵件都會發到這一郵箱
FTP/EMAIL標簽:如果主機支持mail函數,則個人感覺用這個效率可能高一點,主機不支持的話也沒關系,還可以用SMTP,設置方法跟郵件客戶端一樣。
需要說明的是,如果想用gmail的帳號發送實現起來比較麻煩,gmail的smtp需要ssl,且不說帝國自帶的郵件發送類不支持ssl,就是帝國后臺設置郵件的地方也沒有提供ssl選項,所以就不折騰了,用國內的郵箱帳號發就是了。
二、新增給管理員發郵件的函數
找到e/class/SendEmail.inc.php,結尾下加入以下代碼
//給管理員信箱發送通知郵件新增函數
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此郵件由系統自動發出,請管理員盡快處理nr";
? ? ? ? $sm=EcmsToSendMail($pr['email'],$subject,$msgtext);
? ? ? ? return $sm;
}
三、給管理員發郵件,以下是不同的場景,可以根據需要自由修改
1.有新訂單時
修改e/enews/index.php,在大約184行
AddDd($_POST);
在這一行前面加上
@include("../class/SendEmail.inc.php");
SendNoticeToAdmin("有新訂單!訂單號".$_POST[ddno],$_POST);
完活,這只是起到一個提醒功能,所以郵件界面什么的就不用考慮了,管理員收到郵件后去帝國后臺處理就是了。
2.有新的投稿時
修改e/class/qinfofun.php,在大約850行
printerror("AddQinfoSuccess",$reurl,1);
在這一行前面加上
@include('SendEmail.inc.php');
SendNoticeToAdmin("收到來自".$add['title']."的投稿",$add);
3.有新的信息反饋時
修改e/class/q_functions.php,在大約468行
$reurl=DoingReturnUrl("../tool/feedback/?bid=$bid",$add['ecmsfrom']);
在這一行前面加上:
@include("SendEmail.inc.php");
SendNoticeToAdmin("收到來自".$add['title']."的信息反饋",$add);
4.有新留言時
修改e/enews/index.php,在大約215行
AddGbook($_POST);
在這一行前面加上:
@include("../class/SendEmail.inc.php");
SendNoticeToAdmin("收到新留言",$_POST);
5.有會員在網站上注冊(如果是注冊需要審核,收到這封郵件管理員可以及時去后臺審核)
修改e/enews/index.php,在大約74行
register($username,$password,$repassword,$email);
在這一行前面加上
@include('../class/SendEmail.inc.php');
SendNoticeToAdmin("新會員注冊,用戶名:".$username,$_POST);
6.網站后臺啟用注冊需要郵箱驗證,驗證通過后會員會收到一封歡迎信
由于這個郵件是給會員看的,所以內容格式排版上就要講究一下了
(1)在eclass下新增一條文件,命名user_template_register.txt,內容如下(僅供參考,可自行修改)
歡迎[!–USERNAME–]注冊本網站。
(2)修改e/class/qmemberfun.php,在大約188行
printerror('ActUserSuccess',$public_r['newsurl'],1);
在這一行前面加上
@include('SendEmail.inc.php');
$msgtext=file_get_contents("user_template_register.txt");
$msgtext=str_replace('[!--USERNAME--]',$r[username],$msgtext);
EcmsToSendMail($r[username],"歡迎注冊",$msgtext);
此久,還有一些場景也需要用到郵件,比如
1)網站沒有啟用郵箱驗證,但是會員注冊后需要管理員手工審核,審核通過后會員會收到一封歡迎信
2)商城系統,會員下單后會實時收到郵件通知,訂單通過審核后,也會再給客戶一封郵件
實現起來都不難,有需要的自己加上就是了