📄 1340.html
字号:
<TD>
<TABLE cellSpacing=0 cellPadding=3 width="100%"
border=0>
<TBODY>
<TR>
<TD vAlign=top>
<p><FONT class=normalfont><B><font color=blue>Qmail+Mini Howto</font></B></FONT><BR><FONT class=smallfont color=#ff9900>2004-04-23 15:18 pm</FONT><BR><FONT class=normalfont>作者:作者<br>来自:Linux知识宝库<br>联系方式:无名<br><br>那些想要为他们的EMAIL使用以上组合的用户,我归纳了一些安装经验来为他们提供某些帮助。我刚得到了一些新的关于LINUX管理信息,所以决定更新这期MINI-HOWTO。<br>
1.介绍<br>
什么是QMAIL?我们该怎样正确使用它?以下将给出一些解释说明。<br>
QMAIL是一个安全、可靠、高效、简洁的信息传送的代理。它现在完全替代了典型互联网上以unix作为平台的主机上发送-接收的系统。<br>
安全:安全不仅仅是一个目标,而且无疑是一个需要。用户对发送邮件的要求很高;它不能出一点差错,所以必须绝对安全可靠。(这就是我为什么开始使用QMAIL:我对其他的邮件发送系统的诸多安全漏洞感到非常不安。)<br>
可靠:QMAIL采用“straight-paper-path”的设计“哲理”, 保证了一个信息一旦被系统接收,就永不丢失。QMAIL也支持MAILDIR功能,一个全新的、超稳定的用户邮箱格式。MAILDIRS,不像MBOX文件和MH文件夹在接收邮件时,如果系统出错会导致接收中断。更好的是,用户不仅可以安全的在NFS(网络文件系统)上读取他的邮件,而且与此同时,任何其他NFS的客户端也可以向他发送邮件。<br>
高效:在一个BSD/OS的PENTIUM机上,QMIAL每天可以轻易地支持200000的本地信息----分开处理邮箱中信息的发送与接收!虽然DNS(域名服务器)和SMTP的远程发送原本就有速度慢的局限性,qmail可以在默认状态下同时发送20封邮件,所以相比下它能风驰电掣地快速通过邮件列表。(这就是我为什么使用QMAIL,我必须建立庞大的邮件列表。)<br>
简洁:QMAIL比其他任何互联网的MTA占用的空间都要小得多。这是因为:(1) 其他的MTA系统采用单独解析、匿名和邮件列表的机制。而QMAIL采用一个简化了的解析机制,它允许用户处理他们自己的邮件列表。(2) 其他的MTA是这样的发送模式:或者快速+不安全,或者缓慢+队列。而QMAIL,在队列中一旦有新消息的出现,就立即发送,所以QMAIL的发送模式只能是:快速+队列。(3) 其他MTA系统实际上包含了一个特别的inetd的版本,它能减少机器的负荷。而QMAIL的设计根本上减少了机器的负荷,因此QMAIL发送系统能在您的机器上安全运行。<br>
替代SENDMAIL的发送邮件:QMAIL支持主机和用户的匿名、完全隐藏主机、虚拟域名、无效客户、拥有者列表的重写、终继控制、可恢复的双重记录、严格的RFC 822地址列表、交叉主机邮件列表的循环侦测、每个接受端的检查点、出故障主机的备份恢复、独立进行信息的重试调度、等等等等。简而言之,它在现代MTA中以快速的特点一枝独秀。QMAIL也包括可以透明地面对众多用户的发件箱。<br>
<br>
<br>
2.我的系统情况<br>
SuSE linux Distribution 5.1 with 2.0.33 kernal.用端对端协议(ppp)连接到互联网服务提供商(ISP)。<br>
<br>
<br>
3.QMAIL的安装<br>
正确依照安装说明的步骤。<br>
注意:请花时间完整地阅读安装说明文件。在以上安装文件中有表示安装步骤的数字。<br>
2.-我必须手动设置组和用户作为每个INSTALL.ids<br>
7.-./qmail-makectl不能在我的系统上运行。我在/var/qmail/control/me中手动地加入了我的域名(mickey.n.eunet.de)<br>
23.-确定qmail-smtpd在inetd-conf文件中的正确拼写。(我把qmail-smtpd拼写成qmail-smptd,导致了花了我两天时间去找:<br>
( ) smtp stream tcp nowait qmaild/var/qmail/bin/tcp-env tcp-env/var/qmail/bin/qmail-smtpd<br>
<br>
3.1 Maildir2smtp<br>
Dan Bernstein已经提供了通过拨号向ISP发送一系列邮件的程序包。这个程序包用来作为从它的站点发送的系列邮件。<br>
这个程序包安装在此人(感谢Rupert Mazzucco(maz@pap.univie.ac.at))网页详细阐述,maildir2smtp - 通过SMTP发送一个maildir。maildir2smtp是设计用来在一个SLIP或者PPP链路上传递报文的。为了在无连接的终端建立maildir2smtp,用匿名创建一个新的maildir:<br>
# maildirmake ~alias/pppdir<br>
# chown -R alias ~alias/pppdir<br>
把<br>
:alias-ppp<br>
加入<br>
control/virtualdomains<br>
把<br>
./pppdir/<br>
加入<br>
~alias/.qmail-ppp-default<br>
不要忘了在pppdir/中附加的删减。然后,在PPP开始文本中,作如下操作:<br>
maildir2smtp ~alias/pppdir alias-ppp- $IP `hostname`<br>
把$IP替换为远端IP地址。<br>
注意:请完整地阅读正确操作的说明书。<br>
Maildir2smtp需要你邮件服务器的IP地址。如果你没有这个IP地址,你可以检测YourMail.host.country来返回你邮件服务器的IP地址。<br>
这个命令包含在你的登陆文本中,在你登陆到你的互联网服务提供商ISP后,刷新所有队列邮件。<br>
<br>
<br>
4.MH的安装<br>
除了这种设置外,我也把/mh-6.8.4/mts/sendmail/smail.c替换为Dan Bernsteins mh-qmail-smail.c。<br>
以下是我的mh-6.8.4/conf/MH设置。<br>
______________________________________________________________________<br>
<br>
bin /usr/bin/mh<br>
etc /usr/lib/mh<br>
#mail<br>
#mandir /usr/man<br>
#manuals standard<br>
chown /bin/chown<br>
#cp cp<br>
#ln ln<br>
#remove mv -f<br>
cc gcc<br>
ccoptions -traditional -O2 -m486 -D_NFILE='getdtablesize()'<br>
-DSIGEMT=SIGUSR1<br>
curses -lncurses<br>
#ldoptions -s<br>
#ldoptlibs<br>
lex flex<br>
#oldload off<br>
#ranlib on<br>
mts sendmail<br>
#mf off<br>
#bboards off<br>
#bbdelivery off<br>
#bbhome /usr/spool/bboards<br>
pop on<br>
popdir /usr/lib/mh<br>
sharedlib sys5<br>
slflags -fPIC<br>
slibdir /usr/lib<br>
mailgroup mail<br>
signal void<br>
sprintf int<br>
#editor prompter<br>
#debug off<br>
#regtest off<br>
options ATHENA<br>
options BIND<br>
options DPOP<br>
options DUMB<br>
options FCNTL<br>
options MHE<br>
options MHRC<br>
options MIME<br>
options MORE='"/usr/bin/less"'<br>
options OVERHEAD<br>
options POP2<br>
options POPSERVICE='"pop3"'<br>
options RENAME<br>
options RPATHS<br>
options RPOP<br>
options SOCKETS<br>
options SVR4<br>
options SYS5<br>
options SYS5DIR<br>
options TERMINFO<br>
options UNISTD<br>
options VSPRINTF<br>
______________________________________________________________________<br>
<br>
注意:<br>
我只编译了在comp.mail.mh中的``mts sendmail'',其中/smtp 会引起一些问题。Dominic Mitchell(hdm@demon.net)在comp.mail.mh (13 June 1997)中写道:“用这个选择,MH仍然可以通过一个管道,而不是网络用SMTP通话。你确实需要在你的/.mh_profile加入一行:<br>
postproc: /usr/local/nmh/lib/spost<br>
或者无论以什么方式存在于你的系统上,它都将以传统方式把报文直接传送到sendmail,你确实在使用QMAIL,因此sendmail将成为QMAIL的包文本,这就可以了。”<br>
<br>
4.1 mtstailor<br>
因为QMAIL发送又见到默认目录(~/Mailbox)。我把下列设置加入到我的mtstailor。<br>
localname: mickey<br>
localdomain: n.eunet.de<br>
mmdfldir:<br>
mmdflfil: Mailbox<br>
uucpldir:<br>
uucplfil:<br>
mmdelim1: 01010101<br>
<br>
mmdelim2: 01010101<br>
<br>
mmailid: 0<br>
umincproc:<br>
lockldir:<br>
sendmail: /usr/lib/sendmail<br>
注意:sendmail: /usr/lib/sendmail是连接到在/var/qmail/bin中的QMAIL SENDMAIL包的路径。<br>
MH不像音标符号(~/),而是使用/home或者根据文本默认的$HOME置空格。<br>
我最近在办公室里的一台连接到以太网电脑上安装了MH和QMAIL。我在mtstailor里加入了以下一行:<br>
servers: mailserver.company.country<br>
<br>
4.2 mh_profile<br>
以下是我的.mh_profile设置<br>
Path: Mail<br>
draft-folder: drafts<br>
unseen-sequence: unseen<br>
Aliasfile: /home/rdn/.mh_aliases<br>
send: -msgid<br>
comp: -form /home/rdn/.mymh-components<br>
MailDrop: /home/rdn/Mailbox<br>
注意:我加入“收件箱”一行,为了保证邮件的接收.<br>
5.Fetchmail<br>
由于用户很多(我的整个家庭),所以我决定使用fetchmail。linux 和 fetchmail把mail发送到接收 qmail的smtp port。<br>
安装应该没什么问题,按以下步骤便行。<br>
fetchmailrc:<br>
poll PersonalMail.Germany.EU.net<br>
protocol pop3<br>
username myname<br>
password mypassword<br>
# the next two lines do the trick for multidrop<br>
localdomains mydomain.de<br>
is * here<br>
# T2 of the fetchmail FAQ states that qmail needs this<br>
forcecr<br>
<br>
6.exmh<br>
这是我选择的mailer。我很喜欢它。<br>
只存在一个麻烦----大多数的高级汇编TCL/TK包裹编译了安全条款。而随着SuSE的出现,xserverrc在确保安全的前提下解决了这个麻烦。<br>
____________________________________________________________________<br>
<br>
#!/bin/sh<br>
<br>
#<br>
# move this file to ~/.xserverrc, if you don't want to allow everybody to<br>
# get access to your X-Server<br>
#<br>
if [ -x /usr/bin/keygen ]; then<br>
if [ ! -x /usr/bin/hostname -a ! -x /bin/hostname<br>
-a ! -x /usr/bsd/hostname ];<br>
then<br>
echo "startx: can't get my hostname - exiting"<br>
exit 1<br>
else<br>
host=`hostname`<br>
fi<br>
<br>
xauth add $host:0 . `/usr/bin/keygen`<br>
sleep 2<br>
xauth add $host/"unix":0 . `/usr/bin/keygen`<br>
exec X :0 -auth .Xauthority $*<br>
else<br>
exec X :0 $*<br>
fi<br>
______________________________________________________________________<br>
<br>
<br>
7.Procmail<br>
qmail FAQ 有以下要求:<br>
In /.qmail add the line<br>
| preline procmail<br>
3.11per7 的版本改变了默认邮箱的一些内容。它以前在config.h文件中,而现在在src/authenticate.c文件中:<br>
#define MAILSPOOLHOME "/Mailbox" /* watch the leading / */<br>
/* delivers to $HOME/Mailbox */<br>
我精简合并了一些comp.mail.mh 和 comp.mail.misc的内容放在procmailrc 文件中,感谢各位提出宝贵意见!<br>
<br>
#这是为新手准备的SAMPLE.PROCMAILRC 文件<br>
#由Catherine Hampton(ariel@best.com)编写<br>
#版本1.1<br>
#更新日期1/25/98<br>
#<br>
#向公众免费发放<br>
#<br>
#<br>
#SET VARIABLES<br>
#Internal Variables<br>
#以下经rdn 于19980303修改<br>
#有关人士称SHELL的工作环境是高效率的<br>
SHELL=/bin/sh (Shell用来运行procmail。确信你的系统已经备份。不要用其他的shell替换除非你对UNIX了如指掌。)<br>
LINEBRF=4096 (用来不让Procmail在长时间运行后或在处理特殊邮件时出现窒息现象。)<br>
PATH=$HOME/bin:/bin:/usr/bin:/usr/local/bin:/usr/bin/mh:/usr/lib/mh: (你程序的路径----这一项空缺可能最好)<br>
VERBOSE=off (如果你选“on”,那么Procmail 将对所执行的每一步都检测错误。注意,不要选择“on”,因为它会生成一个很庞大的检测文件。)<br>
#默认程序和文件定位<br>
MAILDIR=$HOME/Mail (你最好确信这个目录存在。)<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -