站長新書 站長開講 首頁 最新文章 站長著作及審校 FreeBSD 筆記 Linux 筆記 Windows 筆記 虛擬化筆記 網管人雜誌 遊山玩水 關於本站
站長新書 VMware vSphere ICM 團購開跑了!!

Mailmgr-分析 MailLog 圖表 Mail 進出記錄

前言

[Mailmgr] 簡單是一套用來解譯 (Parser) [MTA] Logs (ex. Sendmail、Postfix...etc) 之後產生相關流量報表。

實作環境

安裝及設定

步驟1.下載 mailmgr 套件

請依如下步驟切換至 MTA (Postfix) 設定檔資料夾,下載 Mailmgr Tar Ball 解壓縮後變更資料夾名稱為 mailmgr。

 #cd /usr/local/etc/postfix                                //切換至 Postfix 設定檔資料夾
 #fetch http://web.onda.com.br/orso/mailmgr-1.2.3.tar.gz   //在目前的路徑下抓取 mailmgr
 #tar zxvf mailmgr-1.2.3.tar.gz                            //解壓縮 mailmgr 
 #mv mailmgr-1.2.3  mailmgr                                //改變資料夾名稱

步驟2.建立 mailmgr 中文化檔案 (Big5.h)

因為 Mailmgr 預設支援的語系中並沒有支援中文語系,所以請自行於 Languages 目錄中建立 Big5.h 檔,下列正體中文化檔案 Big5.h 內容為 [Albert Lu] 所提供感謝他無私的貢獻。

 #cd /usr/local/etc/postfix/mailmgr/languages              //切換路徑
 #vi Big5.h                                                //建立 Big5.h 內容如下
 char *yes = "確定";
 char *no = "取消";
 char *language="正體中文";
 char *msg01="Could not open file";
 char *msg02="none@none";
 char *msg03="Missing email domain in mailmgr.conf file (email_domain tag) and  /etc/sendmail.cw file not found";
 char *msg04="Malloc error";
 char *msg05="Successfull report generated on";
 char *htm01 = "使用者";
 char *htm02 = "期間";
 char *htm03 = "類別";
 char *htm04 = "Report";
 char *htm05 = "序號";
 char *htm06 = "使用者";
 char *htm07 = "MESSAGES";
 char *htm08 = "送出";
 char *htm09 = "接收";
 char *htm10 = "BYTES";
 char *htm11 = "總計";
 char *htm12 = "轉送";
 char *htm13 = "FILE/PERIOD";
 char *htm14 = "建立時間";
 char *htm15 = "Generated by";
 char *htm16 = "on";
 char *htm17 = "FROM";
 char *htm18 = "TO";
 char *htm19 = "日期";
 char *htm20 = "時間";
 #endif 

建立中文化檔案完成後請修改 Big5.h 檔案權限為可執行

 #chmod 700 Big5.h                                          //只有 owner 可讀寫執行

步驟3.修改 mailmgr 語系設定檔 (language.h)

修改 mailmgr 語系設定檔 language.h 內容使 mailmgr 新增支援語系 (中文語系) 並指定剛才建立的中文化檔案 Big5.h 路徑

 #cd /usr/local/etc/postfix/mailmgr/include                 //切換路徑至 include 資料夾
 #vi language.h                                             //修改 language.h 內容,內容如下
 #if defined(Big5)                                          //新增此行及如下二行內容
 #include "./languages/Big5.h" 
 #endif 

步驟4.修改 mailmgr 設定檔 (configure)

修改 mailmgr 設定檔 configure 新增可載入語系 (中文語系)

 #cd /usr/local/etc/postfix/mailmgr                         //切換路徑至 mailmgr 資料夾
 #vi configure                                              //修改 configure 內容
 || test "$enableval" = "Big5"                            //加入此行 (約 1295 行處)

步驟5.修改 mailmgr 設定檔 (configure.in)

修改 mailmgr 設定檔 configure 新增可載入語系 (中文語系)

 #cd /usr/local/etc/postfix/mailmgr                         //切換路徑至 mailmgr 資料夾
 #vi configure.in                                           //修改 configure.in 內容
 || test "$enableval" = "Big5"                              //加入此行 (約 52 行處)

步驟6.開始安裝 mailmgr

請依如下步驟開始安裝支援正體中文的 Mailmgr

 #cd /usr/local/etc/postfix/mailmgr                         //切換路徑
 #./configure --enable-language=Big5                        //安裝中文化語系
 #make install                                              //開始安裝 mailmgr

步驟7.建立 mailmgr 資料夾

請於您方便存取 Web Service 網頁路徑下建立 mailmgr 資料夾以便存放分析 MTA Logs 後報表檔案

 #mkdir /usr/local/www/data/mailmgr                         //存放分析後所產生的檔案

步驟8.修改 MTA 主機設定檔 (local-host-names)

請於 MTA (此次實作為 Postfix) /usr/local/etc/postfix/ 目錄下建立 local-host-names 檔案

 #vi local-host-names                                      //修改內容如下
 weithenn.org                                              //設定接收信件的網域名稱

步驟9.修改 mailmgr 設定檔 (mailmgr.conf)

修改 mailmgr 設定檔 mailmgr.conf 內容如下

 #vi /usr/local/etc/mailmgr.conf                           //修改 mailmgr 設定檔內容如下
 logfile /var/log/maillog                                  //指定讀取 Mail Log 路徑  
 temporary_dir /tmp                                        //指定暫存資料夾路徑
 output_dir /usr/local/www/data/mailmgr                    //指定分析後所產生檔案存放於何處 (步驟 7 所建立的資料夾)      
 local-host-names /usr/local/etc/postfix/local-host-names  //指定讀取接收信件網域的檔案路徑   
 lastlog 0 
 overwrite_report yes 
 email_domain weithenn.org                               //指定郵件網域名稱
 use_sendmail_cw no                                        //因為此次實作 MTA 為 Postfix 所以修改為 NO
 title "weithenn.org -- 電子郵件使用紀錄"                  //分析頁面標題文字

步驟10.啟動 mailmgr 服務

請鍵入如下指令啟動 Mailmgr 服務

 #/usr/local/bin/mailmgr                                   //啟動 mailmgr 服務 
 MAILMGR: Successfull report generated on /usr/local/www/data/mailmgr
 Segmentation fault (core dumped)

步驟11.修改排程

修改排程於每日 23:59 進行 MTA Logs 分析動作

 #crontab -e                                               //編輯排程內容如下
 59 23 * * * /usr/local/bin/mailmgr

步驟12.查看 mailmgr 分析頁面

進行分析後請輸入查看 Mailmgr 分析頁面

ex. http://www.weithenn.org/mailmgr

參考

[MAILMGR]

[BSD USERS GROUP - 討論區《教學》Mail 的分析工具-----mailmgr]

Go To Oddmuse OrgGo To FreeBSD OrgCreative Commons 2.5 Taiwansitestates.com