qmail 1.03?C???X?g?[??
?C???X?g?[??
???/a>???mail-1.03??_?E?????[?h???W?J?B
$ wget http://cr.yp.to/software/qmail-1.03.tar.gz
$ tar zxfv qmail-1.03.tar.gz
?f?B???N?g???A???[?U?A?O???[?v????B
$ su
# mkdir /var/qmail
# groupadd nofiles
# useradd -g nofiles -d /var/qmail/alias -s /bin/false alias
# useradd -g nofiles -d /var/qmail -s /bin/false qmaild
# useradd -g nofiles -d /var/qmail -s /bin/false qmaill
# useradd -g nofiles -d /var/qmail -s /bin/false qmailp
# groupadd qmail
# useradd -g qmail -d /var/qmail -s /bin/false qmailq
# useradd -g qmail -d /var/qmail -s /bin/false qmailr
# useradd -g qmail -d /var/qmail -s /bin/false qmails
?m?F?B
# cat /etc/passwd
alias:x:1002:1002::/var/qmail/alias:/bin/false
qmaild:x:1003:1002::/var/qmail:/bin/false
qmaill:x:1004:1002::/var/qmail:/bin/false
qmailp:x:1005:1002::/var/qmail:/bin/false
qmailq:x:1006:1003::/var/qmail:/bin/false
qmailr:x:1007:1003::/var/qmail:/bin/false
qmails:x:1008:1003::/var/qmail:/bin/false
?R???p?C???B
# cd qmail-1.03
# make setup
(??
nroff -man maildir.5 > maildir.0
nroff -man mbox.5 > mbox.0
nroff -man addresses.5 > addresses.0
nroff -man envelopes.5 > envelopes.0
nroff -man forgeries.7 > forgeries.0
./install
# make check
./instcheck
# ./config
Your hostname is sayo.
hard error
Sorry, I couldn't find your host's canonical name in DNS.
You will have to set up control/me yourself.
???A/etc/resolv.conf??X????Y???B
DNS?T?[?o????[?J???z?X?g?A?h???C????xample.com?????B
# vi /etc/resolv.conf
domain example.com
nameserver 127.0.0.1
??xconfig
# ./config
Your hostname is sayo.
Your host's fully qualified name in DNS is sayo.example.com.
Putting sayo.example.com into control/me...
Putting example.com into control/defaultdomain...
Putting example.com into control/plusdomain...
Checking local IP addresses:
127.0.0.1: Adding localhost to control/locals...
192.168.50.39: Adding sayo.example.com to control/locals...
If there are any other domain names that point to you,
you will have to add them to /var/qmail/control/locals.
You don't have to worry about aliases, i.e., domains with CNAME records.
Copying /var/qmail/control/locals to /var/qmail/control/rcpthosts...
Now qmail will refuse to accept SMTP messages except to those hosts.
Make sure to change rcpthosts if you add hosts to locals or virtualdomains!
?C???X?g?[??????B
???/h3>
./config??R?s?[????t?@?C??:
/var/qmail/control/defaultdomain
example.com
?h???C????????????h???C????B?????B
/var/qmail/control/locals
localhost
sayo.example.com
??M???z?X?g??E?h???C????B
?????X?B
localhost
sayo.example.com
example.com
/var/qmail/control/me
sayo.example.com
Ž©???QDN?B?????B
/var/qmail/control/plusdomain
example.com
?h???C????????I??????????t?????h???C???B?????B
/var/qmail/control/rcpthosts
???[????]?????????z?X?g?B
localhost
sayo.example.com
?????X?B
localhost
sayo.example.com
.example.com
?G?C???A?X???/h4>
# cd /var/qmail/alias
# touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
# chmod 644 .qmail*
tcpserver?C???X?g?[???A???/h3>
# touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
# chmod 644 .qmail*
???/a>???\?[?X??_?E?????[?h???W?J?B
$ wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
$ tar zxfv ucspi-tcp-0.88.tar.gz
?C???X?g?[???B
$ cd ucspi-tcp-0.88
$ make
$ su
# make setup check
./install
./instcheck
# which tcpserver
/usr/local/bin/tcpserver
192.168.50.32/27?A???[?J???z?X?g?????p?????B
# vi /etc/tcp.smtp
192.168.50.32-63:allow,RELAYCLIENT=""
127.:allow,RELAYCLIENT=""
cdb?t?@?C?????B
# /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
?N??X?N???v?g???/h3>
?t???N??X?N???v?g??cpserver??L????B
# cp /var/qmail/boot/home /var/qmail/rc
# vi /var/qmail/rc
#!/bin/sh
# Using splogger to send the log through syslog.
# Using qmail-local to deliver messages to ~/Mailbox by default.
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Mailbox splogger qmail &
tcpserver -v -u 1003 -g 1002 -x /etc/tcp.smtp.cdb \
0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
?m?F
???[?J??->???[?J??
$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
helo
220 sayo.example.com ESMTP
250 sayo.example.com
ehlo
250-sayo.example.com
250-PIPELINING
250 8BITMIME
mail from: sayo
250 ok
rcpt to: sayo
250 ok
data
354 go ahead
hola
.
250 ok 1130345574 qp 10550
quit
221 sayo.example.com
Connection closed by foreign host.
$
$
$ cat Mailbox
From sayo Wed Oct 26 16:40:57 2005
Return-Path: <sayo>
Delivered-To: sayo@sayo.example.com
Received: (qmail 10298 invoked from network); 26 Oct 2005 16:40:51 -0000
Received: from localhost.0.0.127.in-addr.arpa (HELO ) (127.0.0.1)
by localhost.0.0.127.in-addr.arpa with SMTP; 26 Oct 2005 16:40:51 -0000
hola
From sayo Wed Oct 26 16:52:54 2005
Return-Path: <sayo>
Delivered-To: sayo@sayo.example.com
Received: (qmail 10550 invoked from network); 26 Oct 2005 16:52:50 -0000
Received: from unknown (HELO ) (127.0.0.1)
by localhost with SMTP; 26 Oct 2005 16:52:50 -0000
hola
OK????B
???[?J??->?O??
$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 sayo.example.com ESMTP
helo
250 sayo.example.com
mail from: sayo
250 ok
rcpt to: ****@gmail.com
250 ok
data
354 go ahead
From: sayo@example.com
To: ****@gmail.com
This is a test.
.
250 ok 1130345937 qp 10639
quit
221 sayo.example.com
Connection closed by foreign host.
???????????B
Ethereal??O?????]?????p?P?b?g?????????B
