chiark / gitweb /
Merge branches 'idx/verh' and 'idx/qmqpc'
[qmail] / TEST.deliver
1 You can do several tests of qmail delivery without setting up qmail to
2 accept messages through SMTP or through /usr/lib/sendmail:
3
4 1. After you start qmail, look for a
5            qmail: status: local 0/10 remote 0/20
6    line in syslog. qmail-send always prints either ``cannot start'' or
7    ``status''. (The big number is a splogger timestamp.)
8
9 2. Do a ps and look for the qmail daemons. There should be four of
10    them, all idle: qmail-send, running as qmails; qmail-lspawn, running
11    as root; qmail-rspawn, running as qmailr; and qmail-clean, running
12    as qmailq. You will also see splogger, running as qmaill.
13
14 3. Local-local test: Send yourself an empty message. (Replace ``me''
15    with your username. Make sure to include the ``to:'' colon.)
16       % echo to: me | /var/qmail/bin/qmail-inject
17    The message will show up immediately in your mailbox, and syslog
18    will show something like this:
19            qmail: new msg 53 
20            qmail: info msg 53: bytes 246 from <me@domain> qp 20345 uid 666
21            qmail: starting delivery 1: msg 53 to local me@domain 
22            qmail: status: local 1/10 remote 0/20
23            qmail: delivery 1: success: did_1+0+0/
24            qmail: status: local 0/10 remote 0/20
25            qmail: end msg 53 
26    (53 is an inode number; 20345 is a process ID; your numbers will
27    probably be different.)
28
29 4. Local-error test: Send a message to a nonexistent local address.
30       % echo to: nonexistent | /var/qmail/bin/qmail-inject
31            qmail: new msg 53 
32            qmail: info msg 53: bytes 246 from <me@domain> qp 20351 uid 666
33            qmail: starting delivery 2: msg 53 to local nonexistent@domain
34            qmail: status: local 1/10 remote 0/20
35            qmail: delivery 2: failure: No_such_address.__#5.1.1_/
36            qmail: status: local 0/10 remote 0/20
37            qmail: bounce msg 53 qp 20357
38            qmail: end msg 53 
39            qmail: new msg 54 
40            qmail: info msg 54: bytes 743 from <> qp 20357 uid 666
41            qmail: starting delivery 3: msg 54 to local me@domain
42            qmail: status: local 1/10 remote 0/20
43            qmail: delivery 3: success: did_1+0+0/
44            qmail: status: local 0/10 remote 0/20
45            qmail: end msg 54 
46    You will now have a bounce message in your mailbox.
47
48 5. Local-remote test: Send an empty message to your account on another
49    machine.
50       % echo to: me@wherever | /var/qmail/bin/qmail-inject
51            qmail: new msg 53 
52            qmail: info msg 53: bytes 246 from <me@domain> qp 20372 uid 666
53            qmail: starting delivery 4: msg 53 to remote me@wherever
54            qmail: status: local 0/10 remote 1/20
55            qmail: delivery 4: success: 1.2.3.4_accepted_message./...
56            qmail: status: local 0/10 remote 0/20
57            qmail: end msg 53 
58    There will be a pause between ``starting delivery'' and ``success'';
59    SMTP is slow. Check that the message is in your mailbox on the other
60    machine.
61
62 6. Local-postmaster test: Send mail to postmaster, any capitalization.
63       % echo to: POSTmaster | /var/qmail/bin/qmail-inject
64    Look for the message in the alias mailbox, normally ~alias/Mailbox.
65
66 7. Double-bounce test: Send a message with a completely bad envelope.
67       % /var/qmail/bin/qmail-inject -f nonexistent
68       To: unknownuser
69       Subject: testing
70
71       This is a test. This is only a test.
72       %
73    (Use end-of-file, not dot, to end the message.) Look for the double
74    bounce in the alias mailbox.
75
76 8. Group membership test:
77       % cat > ~me/.qmail-groups
78       |groups >> MYGROUPS; exit 0
79       % /var/qmail/bin/qmail-inject me-groups < /dev/null
80       % cat ~me/MYGROUPS
81    MYGROUPS will show your normal gid and nothing else. (Under Solaris,
82    make sure to use /usr/ucb/groups; /usr/bin/groups is broken.)