It works.
Essentially two components - Exim router and transport. The router
decides the transmission path and method, the transport manages physical
moving of message. The router basically says that:-
1) if the *original* sender email address (i.e. *before* any tmda address
re-writing) is on the sender list (which could be simple colon separated
list, or lookup file or DBM or mySQL etc.)
2) the recipient domain is not one of the local domains (from which mail
is originating) and
3) if the X-Delivery-Agent: header is not present (i.e. this is first
look at this mail)
then send to transport.
The transport sets the home directory to the sender's Linux home
directory and account. This is taken from the sender email address local
part (before the @). It then pipes it to tmda-inject.
tmda-inject then does its thing (address re-writing, adding header etc.)
and injects it back into Exim via SMTP.
Doing this way means:
1) I can simplify setup on Windows MUA's - they don't have to know
anything about tmda, just use normal SMTP server
2) Don't need to setup authenticated accounts for tofmipd on Linux server
3) Outbound messages go off a bit faster
Still plan to do some more testing to look directly at headers of
messages as they go through the mail server and tmda.
Regards
Patrick
Router
======
outgoing_tmda:
driver = accept
senders = [EMAIL PROTECTED] : [EMAIL PROTECTED] : etc....
domains = !+local_domains
condition = "${if !def:header_X-Delivery-Agent:{1}{0}}"
transport = outgoing_tmda_pipe
Transport
=========
outgoing_tmda_pipe:
driver = pipe
home_directory = /home/$sender_address_local_part
command = /usr/bin/python2 /usr/bin/tmda-inject
user = $sender_address_local_part
group = tmda
_____________________________________________
tmda-users mailing list ([EMAIL PROTECTED])
http://tmda.net/lists/listinfo/tmda-users