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

Reply via email to