I recently discovered the existence of Exim when a user on another list
mentioned it by name.. I've spent some time tweaking it over the last few
days and I'm finding it much easier to work with than Sendmail (which we
were using earlier)...
I've got Exim setup to deliver local mail via Cyrus's deliver program,
however I'm having some trouble getting Exim to understand the alias file
I've setup... Perhaps someone can see the error I'm missing...
In short, sending an email to: someaddress@??? doesn't get directed
into my "catch-all" account for mydomain, and email to: tails@???
doesn't get forwarded to my real external address, tails@???....
Here's the relevant information from my Exim configuration file, please
excuse me for the length of my comments =) :
------------- SNIP ------------------
# --> Transport Configuration Settings:
# _____________________________________________________________________
# --> Order does not matter, only one appropriate transport is called
# --> for each delivery. A transport is used only when referenced from
# --> a directory or a router that successfully handles an address.
# --> This transport is used for delivering messages over SMTP
# --> connections.
remote_smtp:
driver = smtp
# --> This transport sends messages to cyrus accounts.
local_delivery:
driver = pipe
command = "/usr/cyrus/bin/deliver ${lc:$local_part}"
return_path_add
return_output
prefix =
user = cyrus
group = mail
log_output
# --> Now, to handle options in the .forward file, we need to know how
# --> to handle pipe, file, and reply redirections.
# --> This transport is used for handling deliveries directly to files
# --> that are generated by aliasing or forwarding.
address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
# --> This transport is used for handling auto-replies generated by the
# --> filtering option of the forwardfile director.
address_reply:
driver = autoreply
# --> End of transport configuration settings.
end
# --> Directors Configuration Settings:
# _____________________________________________________________________
# --> ORDER DOES MATTER. A local address is passed to each in turn
# --> until it is accepted.
# --> Local addresses are those with a domain that matches some item in
# --> the "local_domains" setting above, or those which are passed back
# --> from the routers because of a "self=local" setting (not used in
# --> this configuration).
# --> To find out where this message needs to go, let's consult an
# --> alias file for each domain. This will tell us the name of the
# --> local POP box that corresponds to the message@???.
# -->
# --> This file should map addresses@domain --> mbox0001, mbox0002,
# --> etc... There should be a catch-all at the end allowing for
# --> other addresses@domain to be caught by the domain account.
# -->
# --> The star at the end of lsearch will cause *.domain to be looked
# --> up in the alias file if an explicit match isn't located.
virtual:
driver = aliasfile
domains = dbm;/usr/exim/domains/domain-list.db
no_more
file = /usr/exim/domains/aliases-${lc:$domain}
search_type = lsearch*
# --> Once we've resolved virtual addresses to a local account name,
# --> check to see if that account has any .forward options in place.
localuser_forward:
driver = forwardfile
file = .forward
no_verify
no_expn
check_ancestor
filter
forbid_pipe
ignore_eacces
file_transport = address_file
reply_transport = address_reply
# --> Now, since we didn't find any forwarding information, let's
# --> deliver the message via Cyrus for clients to pick them up... =)
localuser:
driver = localuser
transport = local_delivery
# --> End of directors configuration settings.
end
# --> Routers Configuration Settings:
# _____________________________________________________________________
# --> ORDER DOES MATTER. A remote address is passed to each in turn
# --> until it is accepted.
# --> Remote addresses are those with a domain that doesn't match any
# --> item in the "local_domains" setting.
# --> This router routes to remote hosts over SMTP using a DNS lookup
# --> with default options.
lookuphost:
driver = lookuphost
transport = remote_smtp
# --> This router routes to remote hosts over SMTP by explicit IP
# --> address, given as a "domain literal" in the form
# --> [nnn.nnn.nnn.nnn]. The RFCs require this facility, which is why
# --> it is enabled by default in Exim. If you want to lock it out, set
# --> forbid_domain_literals in the main configuration section above.
literal:
driver = ipliteral
transport = remote_smtp
# --> End of routers configuration settings.
end
------------- SNIP ------------------
And from my alias file, /usr/exim/domains/aliases-mydomain.com
------------- SNIP ------------------
# --> This file lists all mydomain.com aliases on this mail server...
tails: tails@???
*: mbox_mydomain
------------- SNIP ------------------
The error message I'm receiving is:
tails@???:
unknown local-part "tails" in domain "mydomain.com"
and
asldkjasd@???:
unknown local-part "asldkjasd" in domain "mydomain.com"
Thanks in advance... =)
--
Warmest Regards...
__________________________________________________________________
Jeff Carnahan CTO Networq, Inc.
http://www.networq.com/ jcarnahan@???
__________________________________________________________________