第四章邮件服务器
第一节Sendmail服务器
&1.1简介
邮件服务是用户所需要的最重要的网络服务。Web的通信量很大,但邮件主要用于个人之间的通信,而人-人的通信是商务的基础。没有邮件服务的网络是不完整的网络。换句话说,如果不能给用户提供完整的TCP/IP下的邮件支持,这样的网络操作系统也不值得信赖。
配置sendmail是一件大而复杂的工作,但也不完全都是这样,与其他一些网络服务器系统只安装SMTP服务器软件的情况相比,Linux已经配置好了多数的设置。在多数系统下,缺省配置都能良好的运行。我将在本章中给出一些配置的建议,主要的一些配置参数建议大家不要随意更改。
&1.2所需资源
&1.2.1所需包
RedHat6.2服务器安装
&1.2.2所需配置文件
/etc/sendmail.cf 系统自带,管理员配置
/etc/sendmail.cw 系统自带,管理员配置
&1.3配置方案
1./etc/sendmail.cf
说明:sendmail主配置文件
控制sendmail运行时的配置。完整的sendmail配置应该包括7部分:
LocalInfo(本地信息):这部分定义了本地主机的信息
Options(选项):用来设置定义sendmail环境的选项。
MessagePrecedence(消息的优先级):sendmail消息优先级
TrustedUsers(信任用户):定义发送邮件时允许改变发送地址的用户
FormatofHeaders(头格式):定义在sendmail中插入的邮件头信息
RewritingRules(改写规则):这部分保存着改写邮件地址命令使用该命令可以将邮件地址从用户邮件程序的地址形式改写为邮件发送程序所需要的地址形式。
MailerDefinition(邮寄者说明):定义发送邮件的程序,改写规则是邮件者使用的规则,在本部分定义。
源文件:
V8/Berkeley
Cwlocalhost
Fw/etc/sendmail.cw
CP.
DYuunet.uu.net
CPUUCP
DSmail.weboa.com.cn
[email protected]%!
C..
C[[
Kmailertablehash-o/etc/mail/mailertable
#制作db库
Kdomaintablehash-o/etc/mail/domaintable
Kgenericshash-o/etc/mail/genericstable
Kvirtuserhash-o/etc/mail/virtusertable
Kaccesshash-o/etc/mail/access
Kmxservedbestmx-z:-T
Kresolvehost-a-T
FR-o/etc/mail/relay-domains
DR
DH
Kdequotedequote
CMroot
DMmail.weboa.com.cn
#设置邮件服务器名称
DnMAILER-DAEMON
CPREDIRECT
DZ8.9.3
OSevenBitInput=False
OEightBitMode=pass8
OAliasWait=10
OAliasFile=/etc/mail/aliases,/etc/mail/majordomo
OMinFreeBlocks=100
#规定最小空闲块
OMaxMessageSize=1000000
#指定用户一次最大发送的邮件大小
OBlankSub=.
OHoldExpensive=False
ODeliveryMode=background
OAutoRebuildAliases=true
OTempFileMode=0600
OHelpFile=/etc/mail/sendmail.hf
OSendMimeErrors=True
OForwardPath=$z/.forward.$w:$z/.forward
OConnectionCacheSize=2
OConnectionCacheTimeout=5m
OUseErrorsTo=False
OLogLevel=9
#记录到日志文件的事件等级
OCheckAliases=False
OOldStyleHeaders=True
OPrivacyOptions=authwarnings,noexpn,novrfy
OQueueDirectory=/var/spool/mqueue
OTimeout.queuereturn=4d
OTimeout.queuewarn=4h
OSuperSafe=True
OStatusFile=/var/log/sendmail.st
ODefaultUser=8:12
OSmtpGreetingMessage=$jSendmail$v/$Z;$b
OUnixFromLine=From$g$d
OOperatorChars=.:%@!^/[]+
Pfirst-class=0
Pspecial-delivery=100
Plist=-30
Pbulk=-60
Pjunk=-100
Ft-o/etc/mail/sendmail.ct
Troot
Tdaemon
Tuucp
R$*$#[email protected]$:"550Relayingdenied"
#以上是Linux默认的选项,不允许客户机使用mail服务器收发邮件,如果允许客户机收发的话应将上边一句话改成
R$- [email protected]
#注意:中间是两个tab键
#一下是邮件头信息
H?P?Return-Path:
HReceived:$?sfrom$s$.$?_($?s$|from$.$_)
H?D?Resent-Date:$a
H?D?Date:$a
H?F?Resent-From:$?x$x$|$g$.
H?F?From:$?x$x$|$g$.
H?x?Full-Name:$x
H?M?Resent-Message-Id:
H?M?Message-Id:[email protected]$j
#以上是邮件头信息
2.管理员需要执行touch/etc/mail/aliases和touch/etc/mail/majordomo来创建两个文件,然后重新启动sendmail,利用sendmail.cf里生成db库的配置来生成两个库文件:aliases.db和majordomo.db;当然,管理员也可以通过执行makemaphashmailertable&1.4测试及管理办法
&1.4.1测试方法
1.管理员可以通过执行/etc/rc.d/init.d/sendmailrestart来使更改的配置生效。
2.管理员通过执行fetchmail–uyournameyourserver来为没有邮件用户制定他们的口令,用户需要在客户端作相应的设置。
3.管理员应该打开pop3服务,即更改配置文件
3. 管理员在服务器上可以通过执行echotest|/usr/sbin/sendmail–[email protected]来测试建立好的邮件用户是否能够正常工作。
&1.5 小结
其实我们只要设置其中的几个地方就可以实现mail服务器的功能,这是因为sendmail有很强的适用性,并且它是在不断更新的。所以现在提供给我们的sendmail的配置方案已经经过实践检验,不需要管理员做太大改动,就可以实现强大的sendmail功能。
第二节Qmail服务器
&2.1简介
Qmail是一种可以完全替代Sendmail-binmail体系的新一代Unix邮件系统.Qmail与Sendmail比起来有很多特性,包括:
安全----Qmail将Mail处理过程分为多个过程,尽力避免用root用户运行.同时Qmail禁止对特权用户(root,deamon等)直接发信.
可靠----Qmail的直接投递保证Email在投递过程中不会丢失. Qmail同时支持新的更可靠的信箱格式Maildir,保证系统在突然崩溃情况下不至破坏整个信箱.
高效----在运行于奔腾的BSD/OS上,Qmail每天可以轻松的投递200000封信件.
简单----Qmail要比其他的InternetMail系统小得多.Qmail通过统一的向前机制完成forwarding,alias和maillist等功能,Qmail使用简单高效队列来处理投递.Qmail-smtpd可以由inetd启动,节省了一定资源.
Qmail支持:hostandusermasquerading
fullhosthiding
virtualdomains
nullclients
list-ownerrewriting
relaycontrol
double-bouncerecording
arbitraryRFC822addresslists
cross-hostmailinglistloopdetection
&2.2所需资源
&2.2.1所需包
qmail-1.03.tar.gz Qmail基本系统包
ucspi-tcp-0.88.tar.gztcpserver等服务程序
daemontools-0.70.tar.gz监视工具
checkpassword-0.90.tar.gz pop3验证用户程序
vpopmail-4.9.8.tar.gz虚拟域用户pop3支持
vqsignup-0.4 web方式用户注册
sqwebmail-1.2.4.tar.gzwebmail
qmailadmin-0.42.tar.gz虚拟域web方式管理
ezmlm-0.53.tar.gz 邮件列表管理
autorespond-1.0.0.tar.gz自动回复程序
&2.2.2下载网址
http://www.qmail.org
http://www.inter7.com/qmail
&2.3安装过程
2.2.1安装Qmail基本包
(1)添加Qmail所必须的用户和组
mkdir/var/qmail
groupaddnofiles
useradd-gnofiles-d/var/qmail/aliasalias
useradd-gnofiles-d/var/qmailqmaild
useradd-gnofiles-d/var/qmailqmaill
useradd-gnofiles-d/var/qmailqmailp
groupaddqmail
useradd-gnofiles-d/var/qmailqmailq
useradd-gnofiles-d/var/qmailqmailr
useradd-gnofiles-d/var/qmailqmails
(2)安装Qmail包
cd/usr/local/src
tarxvzfqmail-1.03.tar.gz
cdqmail-1.03
makesetupcheck
./config-fast$HOSTNAME
#设定Qmail服务器主机名
cd~alias;touch.qmail-postmaster.qmail-mailer-daemon.qmail-root
sed's/Mailbox/Maildir\//'/var/qmail/boot/home>/var/qmail/rc
chmod755/var/qmail/rc
2.2.2安装tcpserver等服务程序
cd/usr/local/src
tarxvzfucspi-tcp-0.88.tar.gz
cducspi-tcp-0.88
make
makesetupcheck
2.2.3安装pop3验证用户程序
cd/usr/local/src<