§ /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封信