Qmail+Mini Howto

发表于:2007-06-22来源:作者:点击数: 标签:
作者:wind521 那些想要为他们的EMAIL使用以上组合的用户,我归纳了一些安装经验来为他们提供某些帮助。我刚得到了一些新的关于 LINUX 管理信息,所以决定更新这期 MI NI-HOWTO。 1.介绍 什么是QMAIL?我们该怎样正确使用它?以下将给出一些解释说明。 QMAIL

   
  作者:wind521
  
  那些想要为他们的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系统实际上包含了一个特别的.netd的版本,它能减少机器的负荷。而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(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后,刷新所有队列邮件。
  
  
  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(hdm@demon.net)在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
   注意:我加入“收件箱”一行,为了保证邮件的接收.
  5.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
  
  6.exmh
   这是我选择的mailer。我很喜欢它。
   只存在一个麻烦----大多数的高级汇编TCL/TK包裹编译了安全条款。而随着SuSE的出现,xserverrc在确保

原文转自:http://www.ltesting.net