BBS水木清华站∶精华区

发信人: tdx (Happy汤大瞎), 信区: Linux 
标  题: 懒汉代红帽---第六章 Sendmail 
发信站: BBS 水木清华站 (Wed Nov  1 10:07:01 2000) WWW-POST 
 
第六章 Sendmail 
& 6.1 简 介 
    邮件服务是用户所需要的最重要的网络服务。Web的通信量很大,但邮件主要用于个 
人之间的通信,而人-人的通信是商务的基础。没有邮件服务的网络是不完整的网络。换 
句话说,如果不能给用户提供完整的TCP/IP下的邮件支持,这样的网络操作系统也不值得 
信赖。 
    配置sendmail是一件大而复杂的工作,但也不完全都是这样,与其他一些网络服务器 
系统只安装SMTP服务器软件的情况相比,Linux已经配置好了多数的设置。在多数系统下 
,缺省配置都能良好的运行。我将在本章中给出一些配置的建议,主要的一些配置参数建 
议大家不要随意更改。 
& 6.2 所需系统资源 
6.2.1 配置文件: 
         文件 来源 
   /etc/sendmail.cf sendmail-8.9.3-20.i386.rpm 
   /etc/sendmail.cw sendmail-8.9.3-20.i386.rpm 
6.2.2 相关工具: 
         文件 来源 
 /etc/rc.d/init.d/sendmail              sendmail-8.9.3-20.i386.rpm 
& 6.3 配置方案 
1./etc/sendmail.cf         sendmail的主配置文件 
   作用:控制sendmail运行时的配置。完整的sendmail配置应该包括7部分: 
Local Info(本地信息):这部分定义了本地主机的信息 
Options(选项):用来设置定义sendmail环境的选项。 
Message Precedence(消息的优先级):sendmail消息的优先级 
Trusted Users(信任用户):定义发送邮件时允许改变发送地址的用户 
Format of Headers(头格式):定义在sendmail中插入的邮件头信息 
Rewriting Rules(改写规则):这部分保存着改写邮件地址命令使用该命令可以将邮件 
地址从用户邮件程序的地址形式改写为邮件发送程序所需要的地址形式。 
Mailer Definition(邮寄者说明):定义发送邮件的程序,改写规则是邮件者使用的规 
则,在本部分定义。 
    其实,配置一个完整的sendmail服务器是一件极其复杂的工程,然而对于我们所适用 
的范围来说,很多的功能是没有必要的,所以我想以一个简单的例子来说明我们的配置, 
也就是说,没有被提出的配置在一般情况下是不需要我们的管理员来考虑的,你按照默认 
的做就可以了。 
    实例: 
         V8/Berkeley 
Cwlocalhost 
Fw /etc/sendmail.cw 
CP. 
DYuunet.uu.net 
CPUUCP 
DS thj.mycompany.com 
CO @ % ! 
C.. 
C[[ 
Kmailertable hash -o /etc/mail/mailertable 
#制作db库 
Kdomaintable hash -o /etc/mail/domaintable 
Kgenerics hash -o /etc/mail/genericstable 
Kvirtuser hash -o /etc/mail/virtusertable 
Kaccess hash -o /etc/mail/access 
Kmxserved bestmx -z: -T<TEMP> 
Kresolve host -a<OK> -T<TEMP> 
FR-o /etc/mail/relay-domains 
DR 
DH 
Kdequote dequote 
CM root 
DM thj.mycompany.com 
#设置邮件服务器名称 
DnMAILER-DAEMON 
CPREDIRECT 
DZ8.9.3 
O SevenBitInput=False 
O EightBitMode=pass8 
O AliasWait=10 
O AliasFile=/etc/mail/aliases,/etc/mail/majordomo 
O MinFreeBlocks=100 
#规定最小空闲块 
O MaxMessageSize=1000000 
#指定用户一次最大发送的邮件大小 
O BlankSub=. 
O HoldExpensive=False 
O DeliveryMode=background 
O AutoRebuildAliases=true 
O TempFileMode=0600 
O HelpFile=/etc/mail/sendmail.hf 
O SendMimeErrors=True 
O ForwardPath=$z/.forward.$w:$z/.forward 
O ConnectionCacheSize=2 
O ConnectionCacheTimeout=5m 
O UseErrorsTo=False 
O LogLevel=9 
#记录到日志文件的事件等级 
O CheckAliases=False 
O OldStyleHeaders=True 
O PrivacyOptions=authwarnings,noexpn,novrfy 
O QueueDirectory=/var/spool/mqueue 
O Timeout.queuereturn=4d 
O Timeout.queuewarn=4h 
O SuperSafe=True 
O StatusFile=/var/log/sendmail.st 
O DefaultUser=8:12 
O SmtpGreetingMessage=$j Sendmail $v/$Z; $b 
O UnixFromLine=From $g  $d 
O OperatorChars=.:%@!^/[]+ 
Pfirst-class=0 
Pspecial-delivery=100 
Plist=-30 
Pbulk=-60 
Pjunk=-100 
Ft -o /etc/mail/sendmail.ct 
Troot 
Tdaemon 
Tuucp 
R$* $#error $@ 5.7.1 $: "550 Relaying denied" 
#以上是Linux默认的选项,不允许客户机使用mail服务器收发邮件,如果允许客户机收 
发的话应将上边一句话改成 
R$- $@ok 
#注意:中间是两个tab键 
#一下是邮件头信息 
H?P?Return-Path: <$g> 
HReceived: $?sfrom $s $.$?_($?s$|from $.$_) 
H?D?Resent-Date: $a 
H?D?Date: $a 
H?F?Resent-From: $?x$x <$g>$|$g$. 
H?F?From: $?x$x <$g>$|$g$. 
H?x?Full-Name: $x 
H?M?Resent-Message-Id: <$t.$i@$j> 
H?M?Message-Id: $t.$i@$j 
#以上是邮件头信息 
2.管理员需要执行touch /etc/mail/aliases 和 touch /etc/mail/majordomo来创建两 
个文件,然后重新启动sendmail,利用sendmail.cf里生成db库的配置来生成两个库文件 
:aliases.db和majordomo.db;当然,管理员也可以通过执行makemap hash  
mailertable < mailertable来生成新的db,这样可以不重新启动。 
& 6.4 测试及管理方法 
1. 管理员可以通过执行/etc/rc.d/init.d/sendmail restart来使更改的配置生效。 
2. 管理员通过执行 fetchmail –u yourname yourserver 来为没有邮件用户制定他们 
的口令,用户需要在客户端作相应的设置。 
3.管理员应该打开pop3服务,即更改配置文件  
4.管理员在服务器上可以通过执行 echo test | /usr/sbin/sendmail –v  
thj@mycompany.com 来测试建立好的邮件用户是否能够正常工作。 
& 6.5 本章小节 
    其实我们只要设置其中的几个地方就可以实现mail服务器的功能,这是因为sendmail 
有很强的适用性,并且它是在不断更新的。所以现在提供给我们的sendmail的配置方案已 
经经过实践检验,不需要管理员做太大改动,就可以实现强大的sendmail功能。 
 
 
-- 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 159.226.91.59]  

BBS水木清华站∶精华区