| 導購 | 订阅 | 在线投稿
分享
 
 
 

QMAIL+MH設計方案

來源:互聯網  2008-05-31 00:09:54  評論

那些想要爲他們的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.QMAIL的安裝

正確依照安裝說明的步驟。

注意:請花時間完整地閱讀安裝說明文件。在以上安裝文件中有表示安裝步驟的數字。

2.1 Maildir2smtp

Dan Bernstein已經提供了通過撥號向ISP發送一系列郵件的程序包。這個程序包用來作爲從它的站點發送的系列郵件。

這個程序包安裝在此人(感謝Rupert Mazzucco(maz@pap.univie.ac.at))網頁詳細闡述,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後,刷新所有隊列郵件。

3.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(hdm@demon.net)在comp.mail.mh (13 June 1997)中寫道:"用這個選擇,MH仍然可以通過一個管道,而不是網絡用SMTP通話。你確實需要在你的/.mh_profile加入一行:

postproc: /usr/local/nmh/lib/spost

或者無論以什麽方式存在于你的系統上,它都將以傳統方式把報文直接傳送到sendmail,你確實在使用QMAIL,因此sendmail將成爲QMAIL的包文本,這就可以了。"

3.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

3.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

注意:我加入"收件箱"一行,爲了保證郵件的接收.

4.Fetchmail

由于用戶很多(我的整個家庭),所以我決定使用fetchmail。Linux 和 fetchmail把mail發送到接收 QMAIL的smtp port。

安裝應該沒什麽問題,按以下步驟便行。

fetchmailrc:

poll PersonalMail.Germany.EU.net

protocol pop3

username myname

password mypassword

# the next two lines do the trick for multidrop

localdomains mydomain.de

is * here

# T2 of the fetchmail FAQ states that QMAIL needs this

forcecr

5.exmh

這是我選擇的mailer。我很喜歡它。

只存在一個麻煩----大多數的高級彙編TCL/TK包裹編譯了安全條款。而隨著SuSE的出現,xserverrc在確保安全的前提下解決了這個麻煩。

#!/bin/sh

#

# move this file to ~/.xserverrc, if you don want to allow everybody to

# get access to your X-Server

#

if [ -x /usr/bin/keygen ]; then

if [ ! -x /usr/bin/hostname -a ! -x /bin/hostname

-a ! -x /usr/bsd/hostname ];

then

echo "startx: can get my hostname - exiting"

exit 1

else

host=`hostname`

fi

xauth add $host:0 . `/usr/bin/keygen`

sleep 2

xauth add $host/"unix":0 . `/usr/bin/keygen`

exec X :0 -auth .Xauthority $*

else

exec X :0 $*

fi

6.Procmail

QMAIL FAQ 有以下要求:

In /.QMAIL add the line

| preline procmail

3.11per7 的版本改變了默認郵箱的一些內容。它以前在config.h文件中,而現在在src/authenticate.c文件中:

#define MAILSPOOLHOME "/Mailbox" /* watch the leading / */

/* delivers to $HOME/Mailbox */

我精簡合並了一些comp.mail.mh 和 comp.mail.misc的內容放在procmailrc 文件中,感謝各位提出寶貴意見!

#這是爲新手准備的SAMPLE.PROCMAILRC 文件

#由Catherine Hampton(ariel@best.com)編寫

#版本1.1

#更新日期1/25/98

#

#向公衆免費發放

#

#

#SET VARIABLES

#Internal Variables

#以下經rdn 于19980303修改

#有關人士稱SHELL的工作環境是高效率的

SHELL=/bin/sh (Shell用來運行procmail。確信你的系統已經備份。不要用其他的shell替換除非你對UNIX了如指掌。)

LINEBRF=4096 (用來不讓Procmail在長時間運行後或在處理特殊郵件時出現窒息現象。)

PATH=$HOME/bin:/bin:/usr/bin:/usr/local/bin:/usr/bin/mh:/usr/lib/mh: (你程序的路徑----這一項空缺可能最好)

VERBOSE=off (如果你選"on",那麽Procmail 將對所執行的每一步都檢測錯誤。注意,不要選擇"on",因爲它會生成一個很龐大的檢測文件。)

#默認程序和文件定位

MAILDIR=$HOME/Mail (你最好確信這個目錄存在。)

DEFAULT=$HOME/Mailbox (Best Internet上的默認情況是2-5個shell郵箱的使用者。個人可以按自身的不同爲系統選擇正確的設置。)

LOGFILE=$MAILDIR/procmail.log (檢測信息的處理,推薦照此設定----否則出錯信息會mail給你。)

FORMAIL=/usr/bin/formail (非常有用的自動回複技巧。如果你不在Best Internet上,更改formail系統拷貝上的此項信息自動回複郵件。)

SENDMAIL=/usr/sbin/sendmail (非常有用的自動回複技巧。如果你不在Best Internet上,更改sendmail系統拷貝上的此項信息自動回複郵件。)

Procmail 是一個非常優秀的文檔程序。請無比仔細閱讀以上內容作爲參考來設置你的procmailrc文件。

7.ISDN

盡管此項看似與與QMAIL或mh有關,我還是整理了。因爲若你的ISP沒有PPP線就根本無email可言。我在使用我的ISDN中遇到了相當大的麻煩。SusE包含一個專門爲ISDN准備的部分,但我想更簡單些。以下材料是由Bernhard Hailer更新的。

以下的的rc.config文件裝載了初始化的必要組元。

#!/bin/bash

# This is adapted Bernhard Hailers old script

LOCAL_NUMBER="91311234" # tel no. 091311234

REMOTE_NUMBER="0911123456" # ISP tel no.

LOCAL_IP="192.168.0.99" # I have dynamic IP so this will do

REMOTE_IP="195.112.123.11" # your ISPs gateway

DEVICE="ippp0"

SYSPATH="/sbin"

ISDNCTRL="$SYSPATH/isdnctrl"

case "$1" in

start)

# turn on isdn

insmod /lib/modules/2.0.33/net/slhc.o

insmod /lib/modules/2.0.33/misc/isdn.o

sleep 1

# load the hisax module

insmod /lib/modules/2.0.33/misc/hisax.o

id=Tel0 type=5 protocol=2 irq=10 io=0x300

echo "starting isdn4linux"

# global

$ISDNCTRL verbose 0

$ISDNCTRL addif $DEVICE # create new interface

$ISDNCTRL addphone $DEVICE in $REMOTE_NUMBER

$ISDNCTRL addphone $DEVICE out $REMOTE_NUMBER

$ISDNCTRL eaz $DEVICE $LOCAL_NUMBER

$ISDNCTRL l2_prot $DEVICE hdlc

$ISDNCTRL l3_prot $DEVICE trans

$ISDNCTRL encap $DEVICE syncppp

$ISDNCTRL huptimeout $DEVICE 300

$ISDNCTRL chargehup $DEVICE off

$ISDNCTRL secure $DEVICE on

$SYSPATH/ifconfig $DEVICE $LOCAL_IP pointopoint $REMOTE_IP metric 1

$SYSPATH/route add default $DEVICE

$SYSPATH/ipppd /dev/ippp0 file /etc/ppp/options.ipppd %26amp;

$SYSPATH/route del default

;;

stop)

#turn off isdn

rmmod hisax.o

sleep 1

rmmod isdn.o

rmmod slhc.o

echo "Shutting down isdn4linux"

$ISDNCTRL delif ippp0

;;

*)

echo "Usage: $0 (start|stop)"

exit 1

;;

esac

我用以下技巧撥號,它被稱爲簡潔的isdn on|off

#!/bin/bash

# This is based on an old script from Bernhard Hailer

IP_ADDRESS="195.112.123.11"

case "$1" in

on)

echo "Calling ippp0"

/sbin/isdnctrl dial ippp0

# the sleep is important as it gives the PPP time to settle down

echo "Sleep for 8s for PPP handshake"

sleep 8s

/sbin/route add default ippp0

echo "line open - checking...."

# check whether PPP negotiation was successful:

set `ping -qc3 -i1 $IP_ADDRESS 2/dev/null | grep transmitted`

if [ $4 -gt 0 ];

then

echo "succeeded."

echo "Starting fetchmail daemon"

/usr/bin/fetchmail -d 600 -k -v -a -L /var/log/fetchmail

echo "Flushing mail queue...."

/usr/local/bin/serialmail/maildir2smtp

~alias/pppdir alias-ppp- mail.server.ip.no `hostname`

else

echo "failed!"

/sbin/isdnctrl hangup ippp0

fi

;;

off)

echo -n "Shutting down fetchmail daemon"

/usr/bin/fetchmail --quit

/sbin/isdnctrl hangup ippp0

/sbin/route del default # and delete route

echo "You e off line"

;;

*)

echo -e "aUsage:"

echo "isdn on"

echo "isdn off"

;;

esac

接下來的是 ipppd選項文件/etc/ppp/options.ipppd

#基于:

#Klaus Franken,kfr@srse.de

#版本:27。08。97 (5。1)

#

#該文件由YaST在/etc/ppp/ioptions.YaST 拷貝至optiongs.

user"myrserid"

#我的系統名(只在CHAP上使用!)

# name my_system_name

#從peer處得到IP地址

ipcp-accept-local

ipcp-accept-remote

noipdefault

#試著從interface處得到IP地址

#ipppd的特定選項(比如與pppd的沖突)

#只能使用靜態IP

#useifip

#把所有的header-compression都設爲disable

-vj

-vjccomp

-ac

-pc

-bsdcomp

#有時你需要這個:

#noccp

#最大接受數

mru 1524

#最大傳送數

mtu 1500

#如果你的機器是服務器,就要求簽證以下未注釋的條項。然而,如果你的機器是客戶機,做了以上的事就不會成功連接!(信息將提示"peer refused to authenticate"即peer 拒絕簽證)所以,只有在服務器上對于未注釋的部分做以下步驟:

# "+pap" / "+chap" NUR AKTIVIEREN, WENN DIES EIN SERVER IST!!!

#+pap

#+chap

#如果你對handshaking有什麽問題(比如第一次lcp-package沒響應)可以試試減少重試次數,默認情況下是3 sec,試試2 sec:

# lcp-restart 2

,

那些想要爲他們的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.QMAIL的安裝   正確依照安裝說明的步驟。   注意:請花時間完整地閱讀安裝說明文件。在以上安裝文件中有表示安裝步驟的數字。   2.1 Maildir2smtp   Dan Bernstein已經提供了通過撥號向ISP發送一系列郵件的程序包。這個程序包用來作爲從它的站點發送的系列郵件。   這個程序包安裝在此人(感謝Rupert Mazzucco(maz@pap.univie.ac.at))網頁詳細闡述,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後,刷新所有隊列郵件。   3.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(hdm@demon.net)在comp.mail.mh (13 June 1997)中寫道:"用這個選擇,MH仍然可以通過一個管道,而不是網絡用SMTP通話。你確實需要在你的/.mh_profile加入一行:   postproc: /usr/local/nmh/lib/spost   或者無論以什麽方式存在于你的系統上,它都將以傳統方式把報文直接傳送到sendmail,你確實在使用QMAIL,因此sendmail將成爲QMAIL的包文本,這就可以了。"   3.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   3.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   注意:我加入"收件箱"一行,爲了保證郵件的接收.  4.Fetchmail   由于用戶很多(我的整個家庭),所以我決定使用fetchmail。Linux 和 fetchmail把mail發送到接收 QMAIL的smtp port。   安裝應該沒什麽問題,按以下步驟便行。 fetchmailrc: poll PersonalMail.Germany.EU.net protocol pop3 username myname password mypassword # the next two lines do the trick for multidrop localdomains mydomain.de is * here # T2 of the fetchmail FAQ states that QMAIL needs this forcecr   5.exmh   這是我選擇的mailer。我很喜歡它。   只存在一個麻煩----大多數的高級彙編TCL/TK包裹編譯了安全條款。而隨著SuSE的出現,xserverrc在確保安全的前提下解決了這個麻煩。 #!/bin/sh # # move this file to ~/.xserverrc, if you don want to allow everybody to # get access to your X-Server # if [ -x /usr/bin/keygen ]; then if [ ! -x /usr/bin/hostname -a ! -x /bin/hostname -a ! -x /usr/bsd/hostname ]; then echo "startx: can get my hostname - exiting" exit 1 else host=`hostname` fi xauth add $host:0 . `/usr/bin/keygen` sleep 2 xauth add $host/"unix":0 . `/usr/bin/keygen` exec X :0 -auth .Xauthority $* else exec X :0 $* fi   6.Procmail   QMAIL FAQ 有以下要求:   In /.QMAIL add the line   | preline procmail   3.11per7 的版本改變了默認郵箱的一些內容。它以前在config.h文件中,而現在在src/authenticate.c文件中:   #define MAILSPOOLHOME "/Mailbox" /* watch the leading / */   /* delivers to $HOME/Mailbox */   我精簡合並了一些comp.mail.mh 和 comp.mail.misc的內容放在procmailrc 文件中,感謝各位提出寶貴意見!  #這是爲新手准備的SAMPLE.PROCMAILRC 文件   #由Catherine Hampton(ariel@best.com)編寫   #版本1.1   #更新日期1/25/98   #   #向公衆免費發放   #   #   #SET VARIABLES   #Internal Variables   #以下經rdn 于19980303修改   #有關人士稱SHELL的工作環境是高效率的   SHELL=/bin/sh (Shell用來運行procmail。確信你的系統已經備份。不要用其他的shell替換除非你對UNIX了如指掌。)   LINEBRF=4096 (用來不讓Procmail在長時間運行後或在處理特殊郵件時出現窒息現象。)   PATH=$HOME/bin:/bin:/usr/bin:/usr/local/bin:/usr/bin/mh:/usr/lib/mh: (你程序的路徑----這一項空缺可能最好)   VERBOSE=off (如果你選"on",那麽Procmail 將對所執行的每一步都檢測錯誤。注意,不要選擇"on",因爲它會生成一個很龐大的檢測文件。)   #默認程序和文件定位   MAILDIR=$HOME/Mail (你最好確信這個目錄存在。)   DEFAULT=$HOME/Mailbox (Best Internet上的默認情況是2-5個shell郵箱的使用者。個人可以按自身的不同爲系統選擇正確的設置。)   LOGFILE=$MAILDIR/procmail.log (檢測信息的處理,推薦照此設定----否則出錯信息會mail給你。)   FORMAIL=/usr/bin/formail (非常有用的自動回複技巧。如果你不在Best Internet上,更改formail系統拷貝上的此項信息自動回複郵件。)   SENDMAIL=/usr/sbin/sendmail (非常有用的自動回複技巧。如果你不在Best Internet上,更改  sendmail系統拷貝上的此項信息自動回複郵件。)   Procmail 是一個非常優秀的文檔程序。請無比仔細閱讀以上內容作爲參考來設置你的procmailrc文件。   7.ISDN   盡管此項看似與與QMAIL或mh有關,我還是整理了。因爲若你的ISP沒有PPP線就根本無email可言。我在使用我的ISDN中遇到了相當大的麻煩。SusE包含一個專門爲ISDN准備的部分,但我想更簡單些。以下材料是由Bernhard Hailer更新的。   以下的的rc.config文件裝載了初始化的必要組元。 #!/bin/bash # This is adapted Bernhard Hailers old script LOCAL_NUMBER="91311234" # tel no. 091311234 REMOTE_NUMBER="0911123456" # ISP tel no. LOCAL_IP="192.168.0.99" # I have dynamic IP so this will do REMOTE_IP="195.112.123.11" # your ISPs gateway DEVICE="ippp0" SYSPATH="/sbin" ISDNCTRL="$SYSPATH/isdnctrl" case "$1" in start) # turn on isdn insmod /lib/modules/2.0.33/net/slhc.o insmod /lib/modules/2.0.33/misc/isdn.o sleep 1 # load the hisax module insmod /lib/modules/2.0.33/misc/hisax.o id=Tel0 type=5 protocol=2 irq=10 io=0x300 echo "starting isdn4linux" # global $ISDNCTRL verbose 0 $ISDNCTRL addif $DEVICE # create new interface $ISDNCTRL addphone $DEVICE in $REMOTE_NUMBER $ISDNCTRL addphone $DEVICE out $REMOTE_NUMBER $ISDNCTRL eaz $DEVICE $LOCAL_NUMBER $ISDNCTRL l2_prot $DEVICE hdlc $ISDNCTRL l3_prot $DEVICE trans $ISDNCTRL encap $DEVICE syncppp $ISDNCTRL huptimeout $DEVICE 300 $ISDNCTRL chargehup $DEVICE off $ISDNCTRL secure $DEVICE on $SYSPATH/ifconfig $DEVICE $LOCAL_IP pointopoint $REMOTE_IP metric 1 $SYSPATH/route add default $DEVICE $SYSPATH/ipppd /dev/ippp0 file /etc/ppp/options.ipppd %26amp; $SYSPATH/route del default ;; stop) #turn off isdn rmmod hisax.o sleep 1 rmmod isdn.o rmmod slhc.o echo "Shutting down isdn4linux" $ISDNCTRL delif ippp0 ;; *) echo "Usage: $0 (start|stop)" exit 1 ;; esac 我用以下技巧撥號,它被稱爲簡潔的isdn on|off #!/bin/bash # This is based on an old script from Bernhard Hailer IP_ADDRESS="195.112.123.11" case "$1" in on) echo "Calling ippp0" /sbin/isdnctrl dial ippp0 # the sleep is important as it gives the PPP time to settle down echo "Sleep for 8s for PPP handshake" sleep 8s /sbin/route add default ippp0 echo "line open - checking...." # check whether PPP negotiation was successful: set `ping -qc3 -i1 $IP_ADDRESS 2/dev/null | grep transmitted` if [ $4 -gt 0 ]; then echo "succeeded." echo "Starting fetchmail daemon" /usr/bin/fetchmail -d 600 -k -v -a -L /var/log/fetchmail echo "Flushing mail queue...." /usr/local/bin/serialmail/maildir2smtp ~alias/pppdir alias-ppp- mail.server.ip.no `hostname` else echo "failed!" /sbin/isdnctrl hangup ippp0 fi ;; off) echo -n "Shutting down fetchmail daemon" /usr/bin/fetchmail --quit /sbin/isdnctrl hangup ippp0 /sbin/route del default # and delete route echo "You e off line" ;; *) echo -e "aUsage:" echo "isdn on" echo "isdn off" ;; esac 接下來的是 ipppd選項文件/etc/ppp/options.ipppd #基于: #Klaus Franken,kfr@srse.de #版本:27。08。97 (5。1) # #該文件由YaST在/etc/ppp/ioptions.YaST 拷貝至optiongs. user"myrserid" #我的系統名(只在CHAP上使用!) # name my_system_name #從peer處得到IP地址 ipcp-accept-local ipcp-accept-remote noipdefault #試著從interface處得到IP地址 #ipppd的特定選項(比如與pppd的沖突) #只能使用靜態IP #useifip #把所有的header-compression都設爲disable -vj -vjccomp -ac -pc -bsdcomp #有時你需要這個: #noccp #最大接受數 mru 1524 #最大傳送數 mtu 1500 #如果你的機器是服務器,就要求簽證以下未注釋的條項。然而,如果你的機器是客戶機,做了以上的事就不會成功連接!(信息將提示"peer refused to authenticate"即peer 拒絕簽證)所以,只有在服務器上對于未注釋的部分做以下步驟: # "+pap" / "+chap" NUR AKTIVIEREN, WENN DIES EIN SERVER IST!!! #+pap #+chap #如果你對handshaking有什麽問題(比如第一次lcp-package沒響應)可以試試減少重試次數,默認情況下是3 sec,試試2 sec: # lcp-restart 2 ,
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有