[exim] Virtual domain aliases

Top Page
Delete this message
Reply to this message
Author: Joshua Lokken
Date:  
To: exim-users
Subject: [exim] Virtual domain aliases
Hello,

I know this is a simple setup; first:

Exim version 4.31 #0 built 06-Apr-2004 12:01:13
Copyright (c) University of Cambridge 2004
Probably Berkeley DB version 1.8x (native mode)
Support for: iconv() IPv6 PAM Perl OpenSSL
Lookups: lsearch wildlsearch nwildlsearch cdb dbm dbmnz dnsdb dsearch
ldap ldapdn ldapm nis nis0 passwd
Authenticators: cram_md5 plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
Contains exiscan-acl patch revision 16 (c) Tom Kistner
[http://duncanthrax.net/exiscan/]
Configuration file is /usr/local/etc/exim/configure

On FreeBSD 4-10 release.

My simple setup is this: 3 virtual domains, with 3 local user
accounts that receive all mail for one domain each.

Thanks to Odhiambo Washington, I was able to relocate my
virtual router to the correct place, before the system_aliases.

Domains a,b,c are in /usr/local/etc/exim/domains.dbm
and each has it's own aliases file, /etc/mail/$domain

so, in /etc/mail/domain_a, I have entries like this:

user_a:          user@domain_a
alias1:           user_a


When I run 'exim -bt user@domain_a' I get expected output,
indicating local delivery for this address, however, when I
do 'exim -bt alias1@domain_a, I get 'unrouteable'.

/usr/local/etc/exim/configure:

primary_hostname = mailserver.local.domain
never_users = root
exim_user = mailnull
exim_group = mail
daemon_smtp_ports = smtp

[snip]

domainlist local_domains = "swabbies.org :\
                           dbm;/usr/local/etc/exim/domains.dbm"



I have the dnslookup driver, then:

virtual:
driver = redirect
allow_defer
allow_fail
domains = dbm;/usr/local/etc/exim/domains.dbm
data = ${expand:${lookup{$local_part}lsearch*@{/etc/mail/$domain}}}
retry_use_local_part
pipe_transport = address_pipe
file_transport = address_file
no_more

system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup{$local_part}lsearch{/etc/mail/aliases}}
user = mailnull
group = mail
file_transport = address_file
pipe_transport = address_pipe
condition = ${if eq{$domain}{$primary_hostname} {yes}{no}}

then the rest of the default routers, transports.

Also, it was suggested to me that I could use something like
this in my /etc/mail/$domain aliases files:

*:           user_a


This, I take to mean that all local parts for that domain will be
delivered to user_a, however, that is not the case. Please help me to
correct my understanding of these alias files and how they work.

Thank you.

--
Joshua Lokken
Open Source Advocate