* David T-G <davidtg-muttusers@xxxxxxxxxxxxxxx> [2003-09-08 06:19]: > ...and then David Rock said... > > % username on the box is davidtg > % series of .qmail files related to this id: > % ~davidtg/.qmail-davidtg-muttusers > % ~davidtg/.qmail-davidtg-foo > % ~davidtg/.qmail-davidtg-bar > % etc... > > Basically (you leave out the davidtg- since it's in my home dir and picks > up the davidtg that way). You've missed a very important file, though, > as well as an additional wrinkle. Read on. OK, so the files in this example would be: ~davidtg/.qmail-muttusers ~davidtg/.qmail-foo ~davidtg/.qmail-bar ~davidtg/.qmail-list-baz ~davidtg/.qmail-list-zoo etc... and would also likely include: ~davidtg/.qmail-default ~davidtg/.qmail-list-default etc... > % problem is actually simpler than I thought. Just create a script to walk > % the directory for .qmail-extension and build the alternates dynamically > % from that. > > That's a start, but it is not sufficiently encompassing. I see that now. dang. > 1) There's a .qmail-default file (actually at any dash level) which takes > care of addresses not specifically defined otherwise So you could set a reply-to header with an address that doesn't actuall exist, and as long as it gets caught by a default, it will still work: (i.e. davidtg-list-extra gets caught by ~davidtg/.qmail-list-default) I have to admit, that's kind of cool, if not really annoying for this. Hmm, I wonder if defaults could be picked up by a regex: set alternates="(davidtg|davidtg-(muttusers|foo|bar|list-[a-zA-Z0-9]+))@domain" and so on.... I just thought of this. If the above works, then why not just use something that matches EVERYTHING after davidtg: set alternates="(davidtg|davidtg-[a-zA-Z0-9-]+)@domain" generic, and probably has a few cases that don't match, but an interesting possiblity. > 2) I might have my bigfoot mail handled by .qmail-bigfoot when it gets > forwarded here but that doesn't mean that "davidtg-bigfoot@xxxxxxxxxx" > should appear in my alternates list. You would probably have to maintain a list of excluded addresses to do this (which would be tough with the above "catch everything" example). > You might argue that I could manually list all off-site email addresses > and then add to them with the walking capability of this script, and I'd > agree that that would be a very good capability to include, but it doesn't > take care of the case where I have an account on another machine where I > *also* define many addresses (davidtg+this+and+that@xxxxxxxxxx or such) > but, amongst other things, cannot walk the .qmail tree or its equivalent. OK, now this is getting rediculous. keeping track of addresses that the system can't even access? Throw me a bone, would ya? ;-) > [Oh, and I don't know how sendmail, exim, postfix do their alias handling, > but if you can write it for qmail, which can use dash or plus or any char(s) > you want, then you can write it for those as well.] Most of these aren't set up to work this way. I don't think any of them have user-controlled aliases. sendmail and postfix use an alias file in /etc/mail with one for one references: address : destination postfix also has a virtual table and relocation table that can do more ornate redirection, but it's still an admin-based table. -- David Rock david@xxxxxxxxxxxxxx
Attachment:
pgpov1sxVUdKs.pgp
Description: PGP signature