注:內含實現郵件多域轉發功能的示例及日志文件有關內容。
一、 相關軟件包的功能:
1. qmail-1.03:提供SMTPd服務與POP3d服務的軟件包。
2. vpopmail-4.8.9:在qmail軟件包的基礎上提供多虛擬域的功能,主要功能如下:
A) 傳送給虛擬域用戶的郵件,通過程序vdelivermail將郵件放置在正確的目錄下。
B) 當虛擬域用戶接收郵件時,通過程序vchkpw進行用戶驗證和獲得虛擬用戶的homedir。
3. qmailAdmin-0.39基於web的通過vpopmail軟件包來管理域郵件用戶。
A) 由於所有虛擬域在系統中只有一個真實的unix用戶vpopmail,該用戶可對所有虛擬域的郵件用戶及其郵件進行處理。為更好地管理虛擬域,qmailAdmin使用vpopmail提供給各虛擬域的郵件用戶postmaster,通過postmaster對其所屬虛擬域的所有用戶進行管理。
B) 提供了對虛擬郵件用戶數目、別名數目、轉發數目、郵件列表數目、自動應答數目進行控制的手段。
4. ezmlm-0.53:郵件列表管理程序,包含很多功能
5. autorespond-1.0.0:自動應答程序,包含很多擴展功能。
6. UCspi-tcp-0.88:主要使用tcpserver程序,聆聽遠程發來的tcp請求,對各種基於TCP的守護服務進行監控。
A) 對遠程同時發生的服務請求數目進行控制。
B) 指定運行該服務的uid與gid。
C) 對遠程連接請求的允許或拒絕。
7. daemontools-0.61:服務的管理工具。
A) 使用svscan程序通過supervise機制啟動和監管服務。
B) 使用svc程序去啟動、停止、查看狀態等各種操作。
C) 使用supervise創建的pipe利用multilog程序對服務進行日志管理。
8. SqWebMail-1.0.3:通過web收發郵件。
二、 對基於qmail的郵件系統進行管理的基本意見:
潛在的問題:
1. qmail控制文件相當繁多,有些控制文件要求將文本格式轉換為cdb數據庫格式,一旦不注意就會產生問題。
2. 針對不同的控制文件設置,郵件傳送過程被劃分為很多步驟,對應不同的傳送方式。
建議:
1. 盡量使用vpopmail軟件包進行管理,將本地域也作為虛擬域處理,需在編譯vpopmail時將本地域指為虛擬域中的主域。Vpopmail的命令能自動在rcpthosts、virtualdomains、assign控制文件添加相應記錄,並將assign轉換為cdb格式文件,它又能自動生成dot-qmail文件。
2. vpopmail能對虛擬域中包含用戶郵件目錄自動利用多級目錄很好地進行控制。
3. 只有在必要的時候,又對qmail的整個處理流程有細致的了解的情況下,才直接修改qmail的控制文件。
三、 直接修改qmail控制文件的示例:
實現意圖 - 多域轉發
將163.com這個域的所有郵件放入某個虛擬域中的虛擬用戶gz的Maildir中。
將21cn.com這個域的所有郵件放入某個虛擬域中的虛擬用戶sh的Maildir中。
實現步驟:
1. 在rcpthosts文件中加入下面行:
163.com (注意:locals文件中不能有這些行)
21.com
2. 在virutaldomains文件中加入下行:
163.com:huangys-163 (注:huangys-163只是為了以後的匹配)
21cn.com:huangys-21cn
3. 在/var/qmail/users/assign文件中加入下行:
+huangys-163:ezhong.com:7798:2110:/var/vpopmail/domains/ezhong.com:-:163:
+huangys-21cn:ezhong.com:7798:2110:/var/vpopmail/domains/ezhong.com:-:21cn:
注意:
A) 由於要將此域的信件放於某個虛擬域中,所以要使用vpopmail與其組vchkpw的uid與gid。
B) /var/vpopmail/domains/ezhong.com為dot-qmail文件的存放地。
C) :-:163:部分是為了控制dot-qmail文件名。
4. 使用/var/qmail/bin/qmail-newu命令將assign文件轉換為cdb文件。
5. 在/var/vpopmail/domains/ezhong.com目錄中創建.qmail-163-default文件,文件內容如下:(此文件的所有者與所屬組應為vpopmail與vchkpw)
/var/vpopmail/domains/ezhong.com/gz/Maildir/
(如要將郵件轉發到某遠程主機的上,另外使用相應的轉發命令。)
6. 在/var/vpopmail/domains/ezhong.com目錄中創建.qmail-21cn-default文件,文件內容如下:(此文件的所有者與所屬組應為vpopmail與vchkpw)
/var/vpopmail/domains/ezhong.com/sh/Maildir/
四、 qmail日志的管理:
1. 使用multilog程序將郵件日志存放在/var/log/qmail目錄下,其中smtpd與pop3d的相關日志分別存放在子目錄smtpd與pop3中。
2. multilog程序能根據要求,自動循環維持日志文件的大小,將原來的內容轉存為另一文件。
3. 由於采用另一種形式的時間戳,所以要查看時間,則需用程序tai64nlocal將時間戳轉換成可讀形式。