第四章郵件伺服器
第一節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<