2007年3月23日 星期五

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封信。

【下列文章您可能也有興趣】

沒有留言: