[Exim] Custom Setup

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Darren Casey
Date:  
À: exim-users
Sujet: [Exim] Custom Setup
Hi

I am after some advice and possibly finding someone to help (paid) to
migrate from a custom sendmail configuration to a totally exim setup

Currently we have the following setup :-
/ets/sendmail.cR - lists domains that are local seperated with a space for
the local user for that domain (No user means a mail forwarding account)
/var/log/pop_log - IP of users who have checked their POP account and are
allowed to use mail system to send SMTP e-mail
/usr/local/sbin/mailer - perl script used to deliver e-mail
~/.redirect - simlar to .forward file but more advanced
~/.block - allows blocking of mail based on simple rules

Currently mail is accepted if the domain is in the sendmail.cR file. The
e-mail is piped directly to the mailer (perl script) This then looks for a
.block file in the users home directory. If its found checks it a smaple
.block file is :-
make money fast|/dev/null
goofyjoe@???|/dev/null
spammers.org|/dev/null
homeplate.net|/home/francis/txt/leavemealone.txt
brotherphil@???|/home/francis/txt/nomorejokes.txt
sistersue@???|brotherphil@???, goofyjoe@???

If it finds a matching address or subject etc.. it acts on the right of the
| i.e. deleting the mail /dev/null or forwarding it to an e-mail or sending

an autoreply using the text file specified

If the .block file is not found or nothing match's it goes onto the next
step and looks for a file that is called /home/spool/forward/domainname.com
in here forwarding options can be set i.e.
tony|/dev/null
funky*|bob8374@???
chris|/dev/bounce
kilroy|/dev/bounce,francis
program|/home/francis/bin/sendreply


again it follows the simple rules. If nothing is found in there it then
looks for a .redirect file in the users home directory using the same rules
as above. If nothing is found it just delivers it locally. a sample
.redirect is as follows :-
default|francis
info|/home/francis/txt/info.txt
bob|bob8374@???

default sends to the local user francis

The perl script is very simple but also very flexable the final deliverly is
done by piping the e-mail i.e
|/usr/bin/spamc -u $username|/usr/sbin/sendmail -f$f $destiny

the spamc settings are taken from a SQL database, $f is the senders e-mail
address and $destiny will either be a local username or a remote username.

I have it working by using exim and just setting the following

domainlist local_domains = lsearch;/etc/sendmail.cR : @
domainlist relay_to_domains = lsearch;/etc/sendmail.cR
hostlist relay_from_hosts = 127.0.0.1 : net-lsearch;/var/log/pop_log

localuser:
driver = accept
# check_local_user
transport = local_delivery

local_delivery:
driver = pipe
command = /usr/local/sbin/mailer $sender_address $local_part $domain
delivery_date_add
envelope_to_add
return_path_add

However if a .redirect file contains joe|fred@??? this will
bounce and not work correctly etc...

What I am wondering is would it be better to get a totally custom exim
configure file to do all that the perl script does or should I keep the perl
script and just alter the exim confugration to work around the current
issues etc..?

I have the latest exim book but only got it yesterday so not had chance to
look. I could really do with some advice on this. Dropping the current
setup is not an option but relacing sendmail is something I really want to
do right now. The nice thing would be at least to have the .block file read
by exim so I can stop the messages before they are accepted etc..

Thanks I know its a long one but I wanted to explain as much as possible

Darren