Skip to main content

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

  • 設定說明-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:設定那一天觸發寄送

  • 目前官方設定方式資產類別跟軟體類別,以上兩個有資料就會進行觸發通知
  • 選擇盤點裡面的條件搜尋

  • 進來之後

  • 左邊下拉是要選擇類別

  • 右邊下拉是選擇該類別的細項

  • 選擇完之後按下加入

  • 加入後下面會跳出條件

  • 例如我想要找所有的桌機類型

  • 畫面往下拉最下面有一排選項,請選擇資產分類

  • 選完之後會跳出此畫面,填完之後直接按下送出
    • 名稱:填入您剛剛查到的資料的類別名稱

  • 再到管理按下資產類別看有沒有出現

  • 按下資產類別下面會出現剛剛您所填入的資訊

  • 軟體類別一樣到管理

  • 進去之後選擇新類別

  • 選擇完後填入您想要的名稱

  • 再選擇新增軟體,選擇分類再填入軟體名稱

  • 再去按類別列表就會出現所定義好的軟體名稱會顯示在這裡

  • 在回到通知的自定義模板,就會看到這樣子的畫面,那下面好像有多出同樣子的資訊,在去年鐵人賽有提供修改後模板

  • 下載完之後重新上傳剛剛下載的模板,標題名稱跟剛剛用的模板名稱要一樣

補充說明


  因 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');

備註





參考相關網頁