Sendmail Server 的檔案
Sendmail Server 的檔案:
Sendmail 幾乎所有的設定檔都安置在 /etc/mail 底下,不過,如果你是以 RPM 安裝的話,那么還有所謂的 sendmail-cf 的設定檔,這個就是使用 M4 在進行 sendmail.cf 設定的程序!由于 Sendmail Server 所使用到的套件并不少,這包括有 sendmail, imap 以及 m4 等等,我們針對這些套件來談一談每個目錄與檔案下的數據吧!
一、sendmail 的設定檔:
Sendmail 的設定檔幾乎全部都在 /etc/mail 底下,但是也不一定!因為還需要看當初你建立 sendmail.cf 這個主要設定檔時,將各個檔案放置的地點而定!這部份可以使用 RPM 的方式來反查出你的設定檔案的路徑。Sendmail 與相關套件的設定檔與相關的說明為:
/etc/mail/sendmail.cf 或 /etc/sendmail.cf:
這個就是 sendmail 的主要設定檔,所有的參數都是他在管理的!但是,這個檔案內的各個設定被號稱為『天書』,所謂的天書就是『非一般人看的懂得!』,就連 sendmai 官方網站自行開發出來的設定程序也都『告誡大家不要手動編輯這個檔案』,所以這里我們也不談這個檔案的內容啦!但是既然這個是主要設定檔,那么又不要讓大家手動編輯,那我要怎樣進行 sendmail 設定的修改呢?這個時候就需要使用到 M4 這個指令了! m4 可以將簡單的一些環境設定參數,重新以內定的函式庫或者函式定義來『制作』 sendmail.cf 這個設定檔呢!sendmail 預設的 sendmail.cf 放置在 /etc/mail/sendmail.cf ,但是某些 Linux distributions 則將他改放在 /etc/sendmail.cf 這里~
/usr/share/sendmail-cf/cf/xxxx.m4 :
剛剛我們提過那個 sendmail.cf 對吧!而由于這個檔案***不要手動修改,所以需要使用到 m4 這支程序。 m4 可以將一個簡單的環境設定檔轉成 sendmail.cf ,那個環境設定檔就是 sendmail-cf 這個套件所提供的啦。在 Red Hat 7.x 的系統中,主要的環境設定檔就是 /usr/share/sendmail-cf/cf/redhat.mc 這個檔案喔!不過,在 Red Hat 7.3 以后的所有 Red Hat Linux 版本當中,這個檔案被移動到 /etc/mail/sendmail.mc 了!至于其它的 Linux 版本則請參考你的 sendmail-cf 套件的內容!
/etc/mail/local-host-names :
這個檔案主要用來處理一個主機同時擁有多個主機名稱時候的收發信件主機名稱問題。這個檔案的用途可大了!當你的主機擁有多個 HOSTNAME 的時候,例如我的主機擁有三、四個主機名稱,那么是否每個名稱都可以用來做為收受信件的主機名稱 ( To: .. ) 呢?并非如此!
如果你的主機名稱為 test1.your.domain 以及test2.your.domain ,而且這兩個 hostname 您都希望可以用在收受電子郵件,果真如此,那么,你就必需將這兩個名字都寫入 local-host-names 這個檔案當中,一個主機名字占用一行。注意:沒有寫入這個檔案的『你的主機名稱』,那信件將無法正確的寄達這部主機喔~例如:www.vbird.adsldns.org、vbird.adsldns.org這兩個主機名稱的 ip 都是相同的,也就是指向同一臺機器上。假設這臺主機名稱預設為 vbird.adsldns.org,那在預設情況下,寄給 userid@vbird.adsldns.org 都是 ok 沒有問題的!但是寄給 userid@www.vbird.adsldns.org 就會出現錯誤。其中原因是因為沒有告訴 MTA 除了 vbird.adsldns.org 這個主機名稱外,還有 www.vbird.adsldns.org 也是指向這臺主機上。所以寄給 userid@www.vbird.adsldns.org 會出現錯誤,通常就是 mail loop to me,要不然就是不允許 relay 的錯誤情況。
/etc/mail/access.db :
這個是『規定誰可以或不可以使用本郵件服務器的數據庫』,要轉成這個數據庫需要藉由 makemap 以及 /etc/mail/access 檔案的配合!這個檔案可以說是 Sendmail 里面最重要的『使用者權限管理』的數據了!在后面我們會繼續說明。
/etc/mail/aliases.db 或 /etc/aliases.db :
這個 aliases.db 是用來設定『信箱別名』的一個東東 ! 你可以藉由這個檔案的設定來規范你的『群組收信』喔!不過,還需要藉由 aliases 及 newaliases 來做成這個檔案才行!
/etc/mail/statistics :
這個檔案在記錄 Sendmail 收發信件的相關信息喔!•執行檔:
二、Sendmail 的執行檔
/usr/sbin/sendmail:
就是 sendmail 的主要執行檔啦!他會讀取 sendmail.cf 這個檔案的設定內容喔。你在發送信件時,就是使用這支程序啦!啟用這支程序之后,預設的啟用的 port 是 25 咯。
/usr/sbin/ipop3d:
sendmail 的功能是在處理寄信問題,而 ipop3d 就是處理 client 的收信問題啦!如果你的 Mail Server 希望提供客戶端使用 Netscape 或 OutLook express 來收信,那么就需要提供這個服務才行!這個服務的設定檔在 Red Hat 當中是在 /etc/xinetd.d/ipop3 ,如果是 Open Linux server 3.1.1 的話,那就會變成在 /etc/inet.d/imap 這個檔案中。注意: pop3 是由 imap 套件所提供的,并沒有包含在 sendmail 套件之中喔!
/usr/sbin/makemap:
主要將 access 轉成 access.db 的數據庫制作的執行文件;
/usr/sbin/mailstats:
將 /etc/mail/statistics 檔案讀出來的一支程序!可以查看到目前為止 Sendmail 工作共傳送、接收多少郵件啰!
/usr/bin/newaliases:
將 /etc/mail/aliases 轉成 /etc/mail/aliases.db 的執行檔!
/usr/bin/mailq:
用來觀察 /var/spool/mqueue 這個郵件暫存目錄的數據情況的指令!
/usr/bin/m4:
這個就是將 *.mc 檔案轉成 *.cf 檔案的主要執行檔啰!需要搭配 sendmail 原始碼,或者是 sendmail-cf 這個套件才行!
需要注意的是:
m4 是也需要額外的安裝的一個套件喔!sendmail 原本套件中并未包含 m4 這個套件!
【編輯推薦】