Since I have virtual domains, and no local users, I did:
require_files = pop : /var/qmail/popboxes/domainX.com/$local_part
and for better understanding "domainX.com" looks like this:
${lc:${extract{1}{.}{$domain}}-${extract{2}{.}{$domain}}}/${lc:$local_part}
which converts UsEr1@??? to (var/qmail/popboxes/)domain-com/user1
I still have a question (one after another...).
Now "invalid user" doesn't get to the transport and freeze, but it still
freezes after all routers tried. I'd like to reject messages with invalid
recipients. Now I get:
2001-12-11 19:33:10 test@???: lookuphost router deferred:
lowest numbered MX record points to local host
*** Frozen
This is because of this router (after the pop3 user/group routers).
lookuphost:
driver = lookuphost
transport = remote_smtp
For the big picture, I'd like to do the following:
- local user - based on a "local" file. That's ok.
- "pop3" user or group - based on existence of a directory,
preferably an aliasresolving first, such as info, root should
"change" to userX or something, and then existing local parts
to /domain/$local_part/Maildir if exists, and others to
/domain/--group--/Maildir if "--group--" (or other won't-be-used
name for the directory) if exits. This is also ok
- And then - for incoming message - if no luck, then fail/reject/discard
What's the best way? Am I approaching well or there is a better
solution for my "strange" requirements?