Thu Jan 10 17:09:30 UTC 2002
Finally got around to trying DCC on a system -- one which I don't get too much incoming SMTP because I mostly POP mail off a corporate server. I just wanted to be able to test my setup without losing mail. I'm running qmail and didn't see anything obvious about configuration in the archives or on Google. It seemed simple enough using "dccproc" and base "dot-qmail" files to invoke programs, like sendmail's .forward can. I didn't think I'd require procmail. At this point, I'm content simply to have DCC add its headers to my incoming messages; later I'll let my MUA do something based on them. Here's what I did. In ~/.qmail (controls local delivery of incoming messages), have it invoke dccproc and pipe that output qmail-inject, to re-inject the message into the queue. Problem is that I need to avoid mail loops: if I sent it to myself, it would run through dccproc and qmail-inject again, etc, etc. So I use a qmail feature called "extension addresses": I inject it with the target user "myusername-dcc". #~/.qmail (handles mail addressed to "cshenton") |preline /usr/local/bin/dccproc | /var/qmail/bin/qmail-inject cshenton-dcc I can use another dot qmail delivery file specific to that address to tell qmail to deliver it into my maildir (mail folder): #~/.qmail-dcc (handles mail addressed to "cshenton-dcc") ./Maildir/ This seems to do the right thing. dccproc contacts dcc.rhyolite.com and gets counts; I get local deliveries in my ~/Maidir/ which my MUA picks up, and I can have it show me the DCC header line, like: X-DCC-wanadoo-be-Metrics: Palimpsest.it.hq.nasa.gov 1016; env_From=2 From=6 Subject=6 Message-ID=6 Received=1 Body=3 Fuz1=6 Does this setup make sense? Are there problems I'm missing? One problem is that spammers could send mail to "cshenton-dcc" and bypass the DCC filter. Not a big deal, I can make the extension address something less obvious. If I have other "dot-qmail" files (e.g., for incoming mailing lists, default "catch all" boxes, etc), this wouldn't be so simple. But the concept should be extensible. Any hints would be welcome. Thanks.
More information about the DCC