当前位置:操作系统 > Unix/Linux >>

Sendmail--sendmail.cf剖析

§ /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.xiaoyaxiao.com/4302.html
发表您的高见!
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,