[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 應用技術 > Sendmail > 正文
Sendmail--sendmail.cf剖析
http://www.fanqiang.com (2001-05-21 11:00:00)
§ /etc/mail/sendmail.cf 檔案(也可能是/usr/lib/sendmail.cf)

    sendmail程式的組態檔,定義許多功能,例如遞傳代理程式的選擇、位
址重組規則、各Header的改寫原則、所支援的Domain  name等。Sendmail
只有在啟動時才讀取此檔,如果此檔改變了,只有使用kill殺掉sendmail
的process,再重新啟動sendmail。
vi sendmail.cf 

(1) Cwlocalhost (當sendmail架設好,系統會自動收下這台機器的信件)
     希望收下另一個網域email Address的信
EX:機器為linux1.cc.chu.edu.tw想收下
    linux1.cc.chu.edu.tw所有信件,則必須寫成
     Cwlocalhost  linux1.cc.chu.edu.tw
    不過在 DNS上面也必須設定此網域的信件由此台機器接收,否則
    仍然不能接收此網域的信件。
    DNS (MX 0 mbox  linux1.cc.chu.edu.tw)
    不過為了避免設定錯誤造成系統連自己的信件都不收,所以可以寫在
另一個檔案中,不過sendmail.cf中必須加上一行
「Fw/etc/mail/local-host-names」表示系統找尋代收的網域中,除了在Cwlocalhost
中找還會到/etc/sendmail.cw檔案中去找。
vi  local-host-names
     localhost
     linux1.cc.chu.edu.tw

例如:y11-y14每台本來都可以收信,但是對於使用者而言會造成麻煩
      ,所以希望將這些機器的信件,都由mbox這台機器代收,則在
      local-host-names中必須寫成
     localhost
     linux2.cc.chu.edu.tw
     linux3.cc.chu.edu.tw
     linux4.cc.chu.edu.tw
     linux5.cc.chu.edu.tw

(2) Dj (系統自己會猜這台機器的名稱是什麼,如果猜不到,則會使用
         Dj 中定義的機器名稱)
EX:機器名稱為linux1.cc.chu.edu.tw 
    可以 Dj  linux1.cc.chu.edu.tw
    告訴系統說我就是 linux1.cc.chu.edu.tw,系統就可以收下
    linux1.cc.chu.edu.tw的信。

(3) DS  (定義寄信機器名稱)
EX:  DS linux1.cc.chu.edu.tw
      則系統會將所的信件,都丟到 linux1.cc.chu.edu.tw這台機器器當
      作寄信伺服器。

(4) DM   (定義寄出去的信件上面mail from的名稱,自動寫上什麼)
EX:在linux1.cc.chu.edu.tw寄信出去
    則信件上會有username@linux1.cc.chu.edu.tw
    如果在DM加上 DM  linux1.cc
    則寄出去的信件上會變成 username@linux1.cc
    mail  from中優先順序DM>Dj
    不過如果對方也將信件e-mail寫成username@linux1.cc,那要收取
     linux1.cc的信件,則必須在cw或DM中定義成linux1.cc
 
(5) 0 SevenBitInput = Flase
    0 EightBitMode=pass8(8bit也可以不進行編碼通過)
    如果是MIME(圖形檔、音效檔、8bit)的檔案,機器通常會進行
編碼成7bit,但是如果sendmail不收8bit的信,則機器會進行編碼的
動作,但也有可能剛開始機器並不進行編碼,但中間傳輸的過程中某
一台主機進行編碼,若收件者的主機並未進行解碼,可能會造成亂碼
的出現。

(6) 0 AliasFile=/etc/mail/aliases(定義aliases檔案位置)

(7)  0 MinFreeBlock=100
     當電腦硬碟空間不足,會造成系統當機,而信件通常是殺手之一
,所以此行的設定是當硬碟空間剩下100Block則系統就不收信了!這
是一種保護措施。

(8) 0  MaxMessageSize=1000000
   定義超過1000000(1MB)(預設值)大小的信,系統就不收此封信。

(9)  0 MaxHopCount=17
    信一旦在機器之間流傳,卻沒有機器將信收下,此時會造成信件
在某幾台機器之間繞圈圈,但是每當機器收到此封信一次,在
received就會加 1,到了17,系統就會將信件丟掉。

(10)  0  SendMimeErrors=True
    退回的信件要用Mine進行編碼嗎?True編碼會造成很多附件,
Flase則不進行編碼。

(11)   0  ForwardPath=$Z/.forward.$w.$Z/.forward
    一旦有信件,而在使用者的.forward此檔中加上一個E-mail address
,則信件就會再轉寄到上面的E-mail中。
(12)   0  MeToo
    信寄給自己,sendmail會認為多此一舉而將信件丟到,會造成信
件不見,如果將 MeToo打開,則寄給自己的信sendmail也會忠實傳送
到信箱中。

(13)   0  QueueDirectory=/var/spool/mqueue
    當系統收到信件,會先暫放在mqueue的目錄下,再由系統決定轉
寄等其他動作。 

(14)   0  Time.queuerturn=5d
    sendmail為了幫你寄信,當你的信尚未出去!系統為連續嘗試,
 5天後若仍沒寄出,則退還給user。

(15)   0  Timeout.Queuwarn=4h
    如果信寄不出去,系統會寄一封信通知使用者,告知在嘗試過
 4小時候,信仍無法寄出,不過仍會繼續嘗試XX天。

(16)   0  QueueLA=8
    sendmail啟動會用掉1MB的 RAM,當load到8.0,則先存到硬碟中
,等到系統低負載時,才寄出,但如果超過12,則無法連上了。

(17)   0  RefuseLA=12
    
(18)   0  MaxDameonChildren=12
    sendmail預設可以同時啟動12個,表示可以同時收12封信。 (http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
網絡管理員指南 -15.Sendmail+IDA -2>sendmail.cf 文件 -2)標準使用sendmail.m4參數 (2001-07-18 20:10:00)
網絡管理員指南 -15.Sendmail+IDA -2>sendmail.cf 文件 -1)一個例子 (2001-07-18 19:00:00)
Sendmail--sendmail.cf剖析 (2001-05-21 11:00:00)
sendmail.cf簡介 (2001-05-17 13:31:16)
 

★  樊強制作 歡迎分享  ★