|
0
|
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.)
|