QDC - The Qmail Delivery Checker

by Zach Beane


qdc is a program that explores the path qmail will use for a given address. It follows the qmail system fairly closely and gives reasonably accurate results in many cases. It detects loops, permission problems, and other various impediments to delivery. It understands some binaries and their command lines; for example, pipes to "fastforward" are explored properly.

I wrote qdc to better understand qmail's delivery and to help our Tech Support folks troubleshoot mail delivery problems.

It is available under the GPL and, of course, has NO WARRANTY.

Example

# qdc -v xach
xach:
  [01] qmail_send: xach@example.com
  [01] qmail_send: Path so far: [xach@example.com]
  [01] qmail_lspawn: trying xach
  [01] etc_passwd_lookup: looking up xach
  [01] qmail_local: xach /home/staff/xach
  [01] find_dot_qmail: /home/staff/xach/.qmail
  [01] dot_qmail_recipients: /home/staff/xach/.qmail: xach@dargo.example.com
    [02] qmail_send: xach@dargo.example.com
    [02] qmail_send: Path so far: [xach@example.com => xach@dargo.example.com]
    [02] virtualdomains_lookup: looking up xach@dargo.example.com in virtualdomains
    [02] virtualdomains_lookup: not found
    [02] virtualdomains_lookup: looking up dargo.example.com in virtualdomains
    [02] virtualdomains_lookup: not found
 Remote address xach@dargo.example.com

2004-09-22