1、前言
Mailmgr 簡單是一套用來「解譯 (Parser)」 MTA Logs (ex. Sendmail、Postfix...etc) 之後產生相關流量報表。文章目錄
1、前言2、實作環境
3、安裝及設定
步驟1.下載 mailmgr 套件
步驟2.建立 mailmgr 中文化檔案 (Big5.h)
步驟3.修改 mailmgr 語系設定檔 (language.h)
步驟4.修改 mailmgr 設定檔 (configure)
步驟5.修改 mailmgr 設定檔 (configure.in)
步驟6.開始安裝 mailmgr
步驟7.建立 mailmgr 資料夾
步驟8.修改 MTA 主機設定檔 (local-host-names)
步驟9.修改 mailmgr 設定檔 (mailmgr.conf)
步驟10.啟動 mailmgr 服務
步驟11.修改排程
步驟12.查看 mailmgr 分析頁面
4、參考
2、實作環境
- FreeBSD 5.2-RELEASE
- mailmgr-1.2.3.tar.gz
3、安裝及設定
步驟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 //分析後檔案存放於何處
local-host-names /usr/local/etc/postfix/local-host-names //讀取收信網域檔案路徑
lastlog 0
overwrite_report yes
email_domain weithenn.org //指定郵件網域名稱
use_sendmail_cw no //因為採用 Postfix 所以為 NO
title "weithenn.org -- 電子郵件使用紀錄" //分析頁面標題文字
步驟10.啟動 mailmgr 服務
請鍵入如下指令啟動 Mailmgr 服務。# /usr/local/bin/mailmgr //啟動 mailmgr 服務
啟動 Mailmgr 服務成功訊息如下:
MAILMGR: Successfull report generated on /usr/local/www/data/mailmgr
啟動 Mailmgr 服務失敗訊息如下 (請檢查設定檔 mailmgr.conf 內容是否正確)。
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