那些想要為他們的EMAIL使用以上組合的用戶,我歸納了一些安裝經驗來為他們提供某些幫助。我剛得到了一些新的關於Linux管理信息,所以決定更新這期MINI-HOWTO。 1.介紹 什麼是QMAIL?我們該怎樣正確使用它?以下將給出一些解釋說明。 QMAIL是一個安全、可靠、高效、簡潔的信息傳送的代理。它現在完全替代了典型互聯網上以unix作為平台的主機上發送-接收的系統。 安全:安全不僅僅是一個目標,而且無疑是一個需要。用戶對發送郵件的要求很高;它不能出一點差錯,所以必須絕對安全可靠。(這就是我為什麼開始使用QMAIL:我對其他的郵件發送系統的諸多安全漏洞感到非常不安。) 可靠:QMAIL采用“straight-paper-path”的設計“哲理”, 保證了一個信息一旦被系統接收,就永不丟失。QMAIL也支持MAILDIR功能,一個全新的、超穩定的用戶郵箱格式。MAILDIRS,不像MBOX文件和MH文件夾在接收郵件時,如果系統出錯會導致接收中斷。更好的是,用戶不僅可以安全的在NFS(網絡文件系統)上讀取他的郵件,而且與此同時,任何其他NFS的客戶端也可以向他發送郵件。 高效:在一個BSD/OS的PENTIUM機上,QMIAL每天可以輕易地支持200000的本地信息----分開處理郵箱中信息的發送與接收!雖然DNS(域名服務器)和SMTP的遠程發送原本就有速度慢的局限性,qmail可以在默認狀態下同時發送20封郵件,所以相比下它能風馳電掣地快速通過郵件列表。(這就是我為什麼使用QMAIL,我必須建立龐大的郵件列表。) 簡潔:QMAIL比其他任何互聯網的MTA占用的空間都要小得多。這是因為:(1) 其他的MTA系統采用單獨解析、匿名和郵件列表的機制。而QMAIL采用一個簡化了的解析機制,它允許用戶處理他們自己的郵件列表。(2) 其他的MTA是這樣的發送模式:或者快速+不安全,或者緩慢+隊列。而QMAIL,在隊列中一旦有新消息的出現,就立即發送,所以QMAIL的發送模式只能是:快速+隊列。(3) 其他MTA系統實際上包含了一個特別的inetd的版本,它能減少機器的負荷。而QMAIL的設計根本上減少了機器的負荷,因此QMAIL發送系統能在您的機器上安全運行。 替代SENDMAIL的發送郵件:QMAIL支持主機和用戶的匿名、完全隱藏主機、虛擬域名、無效客戶、擁有者列表的重寫、終繼控制、可恢復的雙重記錄、嚴格的RFC 822地址列表、交叉主機郵件列表的循環偵測、每個接受端的檢查點、出故障主機的備份恢復、獨立進行信息的重試調度、等等等等。簡而言之,它在現代MTA中以快速的特點一枝獨秀。QMAIL也包括可以透明地面對眾多用戶的發件箱。 2.我的系統情況 SuSE Linux Distribution 5.1 with 2.0.33 kernal.用端對端協議(ppp)連接到互聯網服務提供商(ISP)。 3.QMAIL的安裝 正確依照安裝說明的步驟。 注意:請花時間完整地閱讀安裝說明文件。在以上安裝文件中有表示安裝步驟的數字。 2.-我必須手動設置組和用戶作為每個INSTALL.ids 7.-./qmail-makectl不能在我的系統上運行。我在/var/qmail/control/me中手動地加入了我的域名(mickey.n.eunet.de) 23.-確定qmail-smtpd在inetd-conf文件中的正確拼寫。(我把qmail-smtpd拼寫成qmail-smptd,導致了花了我兩天時間去找: ( ) smtp stream tcp nowait qmaild/var/qmail/bin/tcp-env tcp-env/var/qmail/bin/qmail-smtpd 3.1 Maildir2smtp Dan Bernstein已經提供了通過撥號向ISP發送一系列郵件的程序包。這個程序包用來作為從它的站點發送的系列郵件。 這個程序包安裝在此人(感謝Rupert MazzUCco([email protected]))網頁詳細闡述,maildir2smtp - 通過SMTP發送一個maildir。maildir2smtp是設計用來在一個SLIP或者PPP鏈路上傳遞報文的。為了在無連接的終端建立maildir2smtp,用匿名創建一個新的maildir: # maildirmake ~alias/pppdir # chown -R alias ~alias/pppdir 把 :alias-ppp 加入 control/virtualdomains 把 ./pppdir/ 加入 ~alias/.qmail-ppp-default 不要忘了在pppdir/中附加的刪減。然後,在PPP開始文本中,作如下操作: maildir2smtp ~alias/pppdir alias-ppp- $IP `hostname` 把$IP替換為遠端IP地址。 注意:請完整地閱讀正確操作的說明書。 Maildir2smtp需要你郵件服務器的IP地址。如果你沒有這個IP地址,你可以檢測YourMail.host.country來返回你郵件服務器的IP地址。 這個命令包含在你的登陸文本中,在你登陸到你的互聯網服務提供商ISP後,刷新所有隊列郵件。 4.MH的安裝 除了這種設置外,我也把/mh-6.8.4/mts/sendmail/smail.c替換為Dan Bernsteins mh-qmail-smail.c。 以下是我的mh-6.8.4/conf/MH設置。 ______________________________________________________________________ bin /usr/bin/mh etc /usr/lib/mh #mail #mandir /usr/man #manuals standard chown /bin/chown #cp cp #ln ln #remove mv -f cc gcc ccoptions -traditional -O2 -m486 -D_NFILE='getdtablesize()' -DSIGEMT=SIGUSR1 curses -lncurses #ldoptions -s #ldoptlibs lex flex #oldload off #ranlib on mts sendmail #mf off #bboards off #bbdelivery off #bbhome /usr/spool/bboards pop on popdir /usr/lib/mh sharedlib sys5 slflags -fPIC slibdir /usr/lib mailgroup mail signal void sprintf int #editor prompter #debug off #regtest off options ATHENA options BIND options DPOP options DUMB options FCNTL options MHE options MHRC options MIME options MORE='"/usr/bin/less"' options OVERHEAD options POP2 options POPSERVICE='"pop3"' options RENAME options RPATHS options RPOP options SOCKETS options SVR4 options SYS5 options SYS5DIR options TERMINFO options UNISTD options VSPRINTF ______________________________________________________________________ 注意: 我只編譯了在comp.mail.mh中的``mts sendmail'',其中/smtp 會引起一些問題。Dominic Mitchell([email protected])在comp.mail.mh (13 June 1997)中寫道:“用這個選擇,MH仍然可以通過一個管道,而不是網絡用SMTP通話。你確實需要在你的/.mh_profile加入一行: postproc: /usr/local/nmh/lib/spost 或者無論以什麼方式存在於你的系統上,它都將以傳統方式把報文直接傳送到sendmail,你確實在使用QMAIL,因此sendmail將成為QMAIL的包文本,這就可以了。” 4.1 mtstailor 因為QMAIL發送又見到默認目錄(~/Mailbox)。我把下列設置加入到我的mtstailor。 localname: mickey localdomain: n.eunet.de mmdfldir: mmdflfil: Mailbox uucpldir: uucplfil: mmdelim1: 01010101 mmdelim2: 01010101 mmailid: 0 umincproc: lockldir: sendmail: /usr/lib/sendmail 注意:sendmail: /usr/lib/sendmail是連接到在/var/qmail/bin中的QMAIL SENDMAIL包的路徑。 MH不像音標符號(~/),而是使用/home或者根據文本默認的$HOME置空格。 我最近在辦公室裡的一台連接到以太網電腦上安裝了MH和QMAIL。我在mtstailor裡加入了以下一行: servers: mailserver.company.country 4.2 mh_profile 以下是我的.mh_profile設置 Path: Mail draft-folder: drafts unseen-sequence: unseen AliasFile: /home/rdn/.mh_aliases send: -msgid comp: -form /home/rdn/.mymh-components MailDrop: /home/rdn/Mailbox 注意:我加入“收件箱”一行,為了保證郵件的接收。