首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

帝國CMS 留言板回覆後自動發送 Email 通知實作教學

     編輯:PHP 綜合知識

需求背景

帝國CMS 內建留言板功能,但預設不支援管理員回覆後自動寄信通知留言者。本文記錄修改核心檔案的步驟,實現「回覆時可選擇是否發送 Email」的功能。

修改步驟

第一步:修改回覆表單 e/admin/tool/ReGook.php

  1. 約第 43 行,新增兩個隱藏欄位,保存留言者 Email 與原留言內容:
<input name="email" type="hidden" id="email" value="<?=$r['email']?>">   /* 取用戶 Email */
<input name="lytext" type="hidden" id="lytext" value="<?=$r['lytext']?>">   /* 取用戶留言內容 */
  1. 約第 67 行,新增「通知書友」核取方塊:
<tr bgcolor="#FFFFFF">
  <td height="25">通知書友:</td>
  <td height="25">
    <input name="checked[]" type="checkbox" id="checked[]" value="" title="發 Email 通知書友" style="background:#99C4E3">
    <span style="color:red"> 書友Email:<?=$r['email']?> </span>
  </td>
</tr>

第二步:修改處理邏輯 e/admin/tool/gbook.php

  1. 引入發信類別(約第 30 行附近):
include("../../class/SendEmail.inc.php");
  1. 找到 $enews=="ReGbook" 判斷區塊(約第 30 行),原碼:
elseif($enews=="ReGbook") {
    $lyid=$_POST['lyid'];
    $bid=$_POST['bid'];
    $retext=$_POST['retext'];
    ReGbook($lyid,$retext,$bid,$logininid,$loginin);
}
  1. 修改為:
elseif($enews=="ReGbook") {
    $lyid=$_POST['lyid'];
    $bid=$_POST['bid'];
    $retext=$_POST['retext'];
    $email=$_POST['email'];
    $lytext=$_POST['lytext'];
    $checked=(int)$_POST['checked']; // 核取方塊值

    if($checked) { // 若勾選發送
        EcmsToSendMail($email,$lytext,$retext); // 呼叫發信函式
    }
    ReGbook($lyid,$retext,$bid,$logininid,$loginin);
}

功能驗證

  1. 後台進入「留言板管理」→「回覆」。
  2. 表單會顯示留言者 Email 及「通知書友」核取方塊。
  3. 勾選後送出,系統先寄發通知信,再完成回覆存檔。

注意事項

  • 確認 SendEmail.inc.php 內的 EcmsToSendMail() 函式參數順序:($to_email, $lytext, $retext)。
  • 郵件伺服器設定需在後台「系統參數」→「郵件設定」正確配置。
  • 修改核心檔案前請備份,升級時需重新套用。

結語

透過簡單的兩個檔案修改,即可賦予帝國CMS 留言板「回覆通知」功能,提升用戶互動體驗。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved