A Mailserver with virtual Users
- How to setup exim4 with MySQL, AMaViS, spamassassin, courier (IMAP; POP3), black- and whitelist, Mailman and SMTP authenticaton -

MA - exim4 exiscan-acl (SPF) HOWTO - guestbook - Mailing List
UPDATES:
20041105: had forgotten to include CC in my config - sorry for that.
20040831: new version (0.2b) of MA released
20040728: created a Mailinglist for exim-MA. You can subscribe here.
20040703: MySQL-Queries for white- and blacklist rewritten - now using SQL-wildcards, guestbook opened.
motivation / why to do this:
The intention of setting up a mailserver without any local users is for security and comfortability. You (or even your users if you create a WEB-Interface) can easily add Email-Addresses and POP3-/IMAP-Boxes with just adding them to a MySQL-Table - deciding on a per-email-basis if incoming emails should be spam-scanned, piped through AMaViS, ...
Hopefully this page will show you a way how to configure the mailserver exim to do the following things:
What you need (and hopefully already have):
Even if you use debian or another good distribution I would compile exim from source (don't forget to include MySQL-Support); MySQL can safely be installed using your distribution-own installation-mechanism.
What to do next:
After you have installed all this software (there should be sufficient documentation explaining how to do this) you should first create a MySQL-Database ('exim') , a user for the mailserver exim ('exim') with sufficient permission to read the tables and finally these tables (they are needed by MA in this form. If you don't like MA and don't want to use it, you can delete some rows...):
Now we can have a look at the exim-config-File exim.conf; here is mine.
Next, you have to configure the courier suite. This is pretty easy - nevertheless, here are some hints.


Everything works - what to do now ?
btw: the config is a subset of mine - mine works; I hope, this one will, too ... Don't hit me if there are any small flaws ;P

If you have any questions feel free to contact me ...