home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1998 February
/
CHIP_2_98.iso
/
doc
/
HOWTO
/
mini
/
Qmail+MH
< prev
next >
Wrap
Text File
|
1997-06-19
|
12KB
|
362 lines
mini-HOWTO install qmail with MH
Christopher Richardson (rdn@tara.n.eunet.de)
v1.3 13.06.97
I am just documenting my installation experiences to offer some help
to other users who wish to use the above combination for their email.
1. Introduction
My thanks to all netizens who have helped me, especially Tony Nugent
(tony@trishul.sci.gu.edu.au), David Summers
(david@summersoft.fay.ar.us) and S.u.S.E ( Linux distribution) who has
made installing Linux so much easier, and the authors of the above
excellent programs.
What is qmail and why should I use it? Here is the author┤s (Dan
Bernstein) blurb:
qmail is a secure, reliable, efficient, simple message transfer agent.
It is meant as a replacement for the entire sendmail-binmail system on
typical Internet-connected UNIX hosts. Secure: Security isn't just a
goal, but an absolute requirement. Mail delivery is critical for
users; it cannot be turned off, so it must be completely secure. (This
is why I started writing qmail: I was sick of the security holes in
sendmail and other MTAs.) Reliable: qmail's straight-paper-path
philosophy guarantees that a message, once accepted into the system,
will never be lost. qmail also supports maildir, a new, super-reliable
user mailbox format. Maildirs, unlike mbox files and mh folders, won't
be corrupted if the system crashes during delivery. Even better, not
only can a user safely read his mail over NFS, but any number of NFS
clients can deliver mail to him at the same time. Efficient: On a
Pentium under BSD/OS, qmail can easily sustain 200000 local messages
per day---that's separate messages injected and delivered to mailboxes
in a real test! Although remote deliveries are inherently limited by
the slowness of DNS and SMTP, qmail overlaps 20 simultaneous
deliveries by default, so it zooms quickly through mailing lists.
(This is why I finished qmail: I had to get a big mailing list set
up.) Simple: qmail is vastly smaller than any other Internet MTA.
Some reasons why: (1) Other MTAs have separate forwarding, aliasing,
and mailing list mechanisms. qmail has one simple forwarding mechanism
that lets users handle their own mailing lists. (2) Other MTAs offer a
spectrum of delivery modes, from fast+unsafe to slow+queued. qmail-
send is instantly triggered by new items in the queue, so the qmail
system has just one delivery mode: fast+queued. (3) Other MTAs
include, in effect, a specialized version of inetd that watches the
load average. qmail's design inherently limits the machine load, so
qmail-smtpd can safely run from your system's inetd. Replacement for
sendmail: qmail supports host and user masquerading, full host hiding,
virtual domains, null clients, list-owner rewriting, relay control,
double-bounce recording, arbitrary RFC 822 address lists, cross-host
mailing list loop detection, per-recipient checkpointing, downed host
backoffs, independent message retry schedules, etc. In short, it's up
to speed on modern MTA features. qmail also includes a drop-in
``sendmail'' wrapper so that it will be used transparently by your
current UAs.
2. My System Details
Cyrix 6x86, with the SuSE Linux Distribution. Kernel patched to 2.0.28
with the unofficial Cyrix patch ( from http://www.escnet.com/). Elsa
Winner Trio +64 graphics card.
PPP link to ISP
3. Qmail Installation
Follow the INSTALL instructions exactly.
Notes:
Please take the time to read the Fine documentation completely. The
numerals refer to the installation steps in the above INSTALL doc.
╖ 2 - I had to set up the groups and users manually as per
INSTALL.ids
╖ 7 - ./qmail-makectl did not work on my system. I added my domain
name (mickey.n.eunet.de) manually in /var/qmail/control/me
╖ 23 - Make sure qmail-smtpd is spelt correctly in the inetd-conf
file. (I spelt it incorrectly i.e. qmail-smptd, which took me two
days to find:( ) smtp stream tcp nowait qmaild
/var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmail-smtpd
3.1. Maildir2smtp
Dan Bernstein has provided a package for sending queued email to an
ISP via dial-in. This package is available as serialmailxxx from his
site.
Install this package as described in the man page (Thanks Rupert
Mazzucco (maz@pap.univie.ac.at), it works out of the box!
maildir2smtp - blast a maildir across SMTP
maildir2smtp is designed to pass messages along a SLIP or
PPP link. To set this up on the disconnected end, create
a new maildir in alias:
# maildirmake ~alias/pppdir
# chown -R alias ~alias/pppdir
Put
:alias-ppp
into control/virtualdomains and
./pppdir/
into ~alias/.qmail-ppp-default. Don't forget the extra
slash in pppdir/. Then, in the PPP startup script, do
maildir2smtp ~alias/pppdir alias-ppp- $IP `hostname`
replacing $IP with the remote IP address.
Notes:
╖ Please read the Fine manual page completely.
╖ Maildir2smtp requires the dotted IP address of your mail server. If
you do not have this then ping YourMail.host.country which will
return the IP.
╖ This command can be included in your login script to flush all
queued mail after logging in to your ISP.
4. MH Installation
In addition to this, I also replaced /mh-6.8.4/mts/sendmail/smail.c
with Dan Bernstein┤s mh-qmail-smail.c
This is what my mh-6.8.4/conf/MH looks like:
______________________________________________________________________
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
______________________________________________________________________
Notes:
╖ I have only compiled ``mts sendmail'' - read in comp.mail.mh
somewhere that /smtp can cause problems. Dominic Mitchell
(hdm@demon.net) wrote in comp.mail.mh (13 June 1997):
``Not quite. With this option MH still talks SMTP, just over a pipe
and not over a network. You *really* need a line in your
/.mh_profile which says:
postproc: /usr/local/nmh/lib/spost
Or whever it's kept on your system. This will pass the message
directly to sendmail in the traditional manner. You're using qmail
of course, so sendmail will be qmail's wrapper script, but that's
just fine.'' Thanks Dominic.
╖ I have remmed out ``mail'' because I want to control it via
mtstailor
4.1. mtstailor
As qmail delivers mail to the home directory (~/Mailbox). I added the
following to my mtstailor
localname: mickey
localdomain: n.eunet.de
mmdfldir:
mmdflfil: Mailbox
uucpldir:
uucplfil:
mmdelim1: \001\001\001\001\n
mmdelim2: \001\001\001\001\n
mmailid: 0
umincproc:
lockldir:
sendmail: /usr/lib/sendmail
Notes:
╖ sendmail: /usr/lib/sendmail is a link to the qmail sendmail wrapper
in /var/qmail/bin
╖ MH does not like the tilde notation (~/) use /home instead or leave
blank which according to the docs defaults to $HOME.
╖ I recently installed MH and qmail on my office machine which is
connect via ethernet. I added the following line to mtstailor:
servers: mailserver.company.country
4.2. mh_profile
Here is my .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
Notes:
╖ I put in the MailDrop line to be ``sure to be sure''.
5. Fetchmail
I decided to use fetchmail because I have a multiuser (my family :).
Linux and fetchmail delivers mail to the smtp port where qmail takes
over.
Installation was no problem, but I have not got the multidrop working
correctly.
Here is my .fetchmailrc
poll PersonalMail.Germany.EU.net
protocol pop3
username myname
password mypassword
6. Exmh
This is my mailer by choice. I love it.
There is one problem - most pre-compiled TCL/TK packages have the
security option compiled in. The following script .xserverrc.secure
which came with SuSE solves this.
______________________________________________________________________
#!/bin/sh
#
# move this file to ~/.xserverrc, if you don't 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't 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
______________________________________________________________________
7. Disclaimers
The usual no guarantees, no money back, use at your own risk.
8. Procmail
The qmail FAQ gives this command:
In /.qmail add the line
| preline procmail
On my system this works iff when using vi to generate the .qmail file,
I included an empty line after the command.
I recompiled the procmail package with my defaults. I added a link
from my /usr/local/bin/procmail to /bin/procmail, because I was not
sure that the command could find procmail in /usr/local/bin.
Procmail is an excellently documented program. Read the man pages for
examples on how to set up your .procmailrc file.
9. Sources
Required Packages
╖ Find Qmail, setserial on http://pobox.com/~djb/qmail.html for other
qmail-related software and a pointer to the qmail mailing list.
╖ Find MH on ftp.ics.uci.edu:/pub/mh
Tony Nugent has prepared a patch for the clean mh-6.8.3 sources
(patch available ftp://ftp.gw.com/pub/unix/mail/mh/patches/linux/).
╖ Find Metamail (for MIME support, including 8-bit charsets) on
ftp.bellcore.com:/pub/nsb
╖ Find Fetchmail on ftp://ftp.ccil.org/pub/esr/fetchmail Or you can
get it from Eric's home page: http://www.ccil.org/~esr
╖ Find Glimpse, the full text search engine, at University of
Arizona: http://glimpse.cs.arizona.edu:1994/
╖ Find Exmh ftp.sunlabs.com/pub/tcl/exmh/
╖ Find TCL and TK on ftp.sunlabs.com:/pub/tcl
ftp.aud.alcatel.com:/tcl ftp.cs.berkeley.edu:/ucb/tcl