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