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>

???/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

qmail01.jpg