Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to setup Exim on a fresh CentOS install so that it will receive mail for a collection of given addresses, and forward the mail respectively to another address. For example, receiving mail from would be forwarded to

I figure this should be fairly straight forward... I had this working before with Sendmail, using the virtusertable - is there something similar I can do with Exim?

I'd also like to be able to send mail, but only for mail being sent from the local machine (i.e., from applications running on the server) - I don't need/want a publicly available SMTP server.

Are there any other settings I should bear in mind to make sure the mail server is secure? (i.e., prevent relaying) I'm assuming that it will be secure out of the box.


share|improve this question
up vote 5 down vote accepted

You will need to use a redirect router. Read the Exim Router specification, as it can do many things and thus can get quite complex.

Basically, you will need to set something up like this (untested)

  driver = redirect
  data = ${lookup{$sender_address}lsearch{/etc/exim4/sender_redirects}}

Then create a file in /etc/exim4/sender_redirects that contains the redirects in a line-separated colon-delimited format, like this:
share|improve this answer
Thanks Gavin, that definitely set me in the right direction. I'm using these lines: driver = redirect domains = dsearch;/etc/exim/virtual data = ${lookup{$local_part}lsearch{/etc/exim/virtual/$domain}} where 'virtual' is a directory containing file '', and lines of the form: 'me:'. I also had to set my 'local_domains' to include '' (the trick with dsearch used above can be used here too). – Joe Freeman May 20 '09 at 19:37

A variation on what Joe Freeman said, without using dsearch (which gave me unknown lookup type "dsearch" error):

In the beginning of exim.conf:

domainlist local_domains = lsearch;/etc/virtual/domains
domainlist local_domains = lsearch;/etc/virtual/domains : lsearch;/etc/virtual/forwarding_domains

In the section "begin routers" add:

    driver = redirect
    domains = lsearch;/etc/virtual/forwarding_domains
    data = ${lookup{$local_part}lsearch{/etc/virtual/forwarding/$domain}}

In lsearch;/etc/virtual/forwarding_domains add your domains one per line:

And create /etc/virtual/forwarding/ containg:

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.