welcome to the EXIM corner of our little dungeon...

On Wed, Sep 20, 2000 at 10:00:27AM +1000, christo wrote:
> when i send mail to :-
> 
> [EMAIL PROTECTED]
> [EMAIL PROTECTED]
> [EMAIL PROTECTED]
> 
> all 3 receives them
> 
> now....if i send emails to [EMAIL PROTECTED] or [EMAIL PROTECTED], 
> userA and userB receives this email where they SHOULDNT

it took me an intense 9-hour day after weeks of poking and prodding
to figure this part out-- maybe i can spare you the same anguish...

i've got 14 domains here on my potato box, and this works well for me:

        # mkdir /etc/exim

        # cd !$

        # cat > dom-one.com
                user1     user1
                userUno   userUno
                userPrime userPrim
                ^D

        # cat > dom-two.com
                user2   user2
                duo     duo
                pair    pair
                *       systemwonk
                ^D

        # cat > dom-twoHMM.com
                *   luckysoul
                ^D

        # cat > dom-three.com
                user3     user3
                trois     trois
                triple    triple
                dudethree dudethree
                ^D

        # cat > DOMAINS
                # *.domain.name   /etc/exim/<aliasfile>
                *.dom-one.com:    dom-one.com
                *.dom-uno.com:    dom-one.com

                dom-two.com:      dom-twoHMM.com
                *.dom-two.com:    dom-two.com

                *.dom-three.com:  dom-three.com
                ^D

(i'm indenting for clarity, you understand... cut&paste
at your own risk... :)

the /etc/exim/DOMAINS file is a 'table-lookup' sheet relating incoming
email domains to their alias files. you can have several domains 'point'
to one file (see dom-uno and dom-one above) if you like.

in the example above, email to <[EMAIL PROTECTED]> would be
referred through the alias file /etc/exim/dom-twoHMM.com, where
email to <[EMAIL PROTECTED]> would instead wind up using the
/etc/exim/dom-two.com aliases: the first matches dom-two.com
exactly, the second would match *.dom-two.com instead. cool!
(and given the setup for dom-twoHMM.com, all messages wind up
going to 'luckysoul'.)

you can also make sure that you catch undelivered mail to certain
hosts this way: see '* systemwonk' in /etc/exim/dom-two.com above.


here's how you tell exim to use that table-lookup arrangement:

in /etc/exim.conf put

        local_domains = 
localhost:*.main.domain.com:partial-lsearch;/etc/exim/DOMAINS

and then further down, in the DIRECTORS section BEFORE the /etc/aliases
rule--

        # check aliases for virtual hosts --
        #       virtual hostname->alias file mapping is in /etc/exim/DOMAINS
        #       <alias>@<hostname>->is in /etc/exim/<virtual> from DOMAINS
        #       and global default aliases '*: someone' is possible in each
        #       virtual host alias file, because we use 'search_type=lsearch*'

        virtual_aliases:
                driver = aliasfile
                domains = "partial-lsearch;/etc/exim/DOMAINS"
                file_transport = address_file
                pipe_transport = address_pipe
                file = /etc/exim/${domain_data}
                search_type = "lsearch*"

(if you put this after the /etc/aliases file, then those will override the
domain-specific aliases. if that's what you want, then by all means do so.
configuration files are a pain to figure out, but there's a whole lotta
power in them thar files...)

i predict it'll take three hours of uninterrupted concentration on the
exim.conf possibilities before you grok the lsearch (or any search)
facility -- and once you do, look out!

CAVEAT -- this will get unweildy in a hurry if you have a large number
of users and/or a large number of domains. there are alternatives,
but once you figure out this part, you can probably figure out the
next steps...

/usr/share/doc/exim/exim-uucp.texinfo.gz
/usr/share/doc/exim/filter.txt.gz
/usr/share/doc/exim/README.UPDATING.gz
/usr/share/doc/exim/README.Y2K.gz
/usr/share/doc/exim/changelog.gz
/usr/share/doc/exim/example.conf.gz
/usr/share/doc/exim/mails.gz
/usr/share/doc/exim/spec.txt.gz
/usr/share/doc/exim/copyright
/usr/share/doc/exim/README.IPV6.gz
/usr/share/doc/exim/dbm.discuss.txt.gz
/usr/share/doc/exim/NewStuff.gz
/usr/share/doc/exim/README.gz
/usr/share/doc/exim/README.Debian.gz
/usr/share/doc/exim/changelog.Debian.gz
/usr/share/doc/exim/oview.txt.gz

/usr/share/man/man8/exim.8.gz

Reply via email to