OCS Inventory 使用通知服務
想要了解目前所收集的資訊可以利用郵件通知方式來進行處理。
運行環境
環境都是在 「Proxmox VE 」 虛擬系統上架設,都是以 「 LXC 」模式為主,除非有特殊狀況會告知使用 「 VM 」 模式
- 系統環境: Debian 12
設定過程
- 因
OCS Inventory
是用phpmailer
套件發送信件,如果沒寄送沒有反應有可能是這個套件沒有安裝到
sudo apt install libphp-phpmailer
- 進到管理介面做設定
- 設定說明-1
- NOTIF_FOLLOW:設定
ON
- NOTIF_MAIL_ADMIN:填入管理員的電子郵件地址
- NOTIF_NAME_ADMIN:管理員的姓名,例:
OCS System Notification
- NOTIF_FOLLOW:設定
- 設定說明-2
- NOTIF_SEND_MODE:選擇模式,因 BUBU 服務都是
TLS
所以選擇SMTP + TLS
,這看您的郵件主機有開怎樣子的協定在做調整 - NOTIF_SMTP_HOST:郵件主機位置
- NOTIF_PORT_SMTP:設定埠號
- NOTIF_USER_SMTP:登入 SMTP 使用者帳號
- NOTIF_PASSWD_SMTP:SMTP 密碼
- NOTIF_PROG_TIME:設定時間
- NOTIF_PROG_DAY:設定那一天觸發寄送
- NOTIF_SEND_MODE:選擇模式,因 BUBU 服務都是
- 目前官方設定方式資產類別跟軟體類別,以上兩個有資料就會進行觸發通知
- 選擇盤點裡面的條件搜尋
- 進來之後
- 左邊下拉是要選擇類別
- 右邊下拉是選擇該類別的細項
- 選擇完之後按下加入
- 加入後下面會跳出條件
- 例如我想要找所有的桌機類型
- 畫面往下拉最下面有一排選項,請選擇資產分類
- 選完之後會跳出此畫面,填完之後直接按下送出
- 名稱:填入您剛剛查到的資料的類別名稱
- 再到管理按下資產類別看有沒有出現
- 按下資產類別下面會出現剛剛您所填入的資訊
- 軟體類別一樣到管理
- 進去之後選擇新類別
- 選擇完後填入您想要的名稱
- 再選擇新增軟體,選擇分類再填入軟體名稱
- 再去按類別列表就會出現所定義好的軟體名稱會顯示在這裡
- 在回到通知的自定義模板,就會看到這樣子的畫面,那下面好像有多出同樣子的資訊,在去年鐵人賽有提供修改後模板
- 下載完之後重新上傳剛剛下載的模板,標題名稱跟剛剛用的模板名稱要一樣
補充說明
因 BUBU 在測試時候有發現到問題,以下是修改程式的位置
- 原本的程式會因為官理者信箱的關係會造成 SMTP 認證無法通知,如文件中有中文會有亂碼因此透過
CatGTP
做修正vim /var/www/html/ocsreports/require/mail/NotificationMail.php
// 修改行數大約 151
/**
* configuration of phpmailer object
* @return phpMailer $this->notif
*/
public function config_mailer(){
// Passing `true` enables exceptions
$this->notif = new PHPMailer(true);
// 設置字符集和編碼
$this->notif->CharSet = 'UTF-8'; // 設置郵件字符集為 UTF-8
$this->notif->Encoding = 'base64'; // 設置郵件編碼方式為 base64
// Server settings
// Set mailer to use SMTP
$this->notif->isSMTP();
// Specify main and backup SMTP servers
$this->notif->Host = $this->info['NOTIF_SMTP_HOST'];
if($this->info['NOTIF_USER_SMTP'] != '' && $this->info['NOTIF_PASSWD_SMTP'] != ''){
// Enable SMTP authentication
$this->notif->SMTPAuth = true;
// SMTP username
$this->notif->Username = $this->info['NOTIF_USER_SMTP'];
// SMTP password
$this->notif->Password = $this->info['NOTIF_PASSWD_SMTP'];
}else{
$this->notif->SMTPAuth = false;
}
$this->notif->SMTPSecure = $this->info['NOTIF_SEND_MODE'];
$this->notif->Port = $this->info['NOTIF_PORT_SMTP'];
// Recipients
// $this->notif->setFrom($this->info['NOTIF_MAIL_ADMIN'], 'OCSInventory');
// 確保發件人與 SMTP 帳號一致
$this->notif->setFrom('SMTP登入帳號', 'OCS System Notification');
$this->notif->addAddress($this->info['NOTIF_MAIL_ADMIN'], $this->info['NOTIF_NAME_ADMIN']);
if($this->info['NOTIF_MAIL_REPLY'] != '' && $this->info['NOTIF_NAME_REPLY'] != ''){
$this->notif->addReplyTo($this->info['NOTIF_MAIL_REPLY'], $this->info['NOTIF_NAME_REPLY']);
}
- 修改系統的語系
vim var.php
// 行數大約是 86
// 預設是英文
define('DEFAULT_LANGUAGE', 'en_GB');
// 修改後為中文
define('DEFAULT_LANGUAGE', 'zh_TW');