Re: [exim] Processing messages with an external program (scr…

Top Page
Delete this message
Reply to this message
Author: Konstantin Boyandin
Date:  
To: exim-users
Subject: Re: [exim] Processing messages with an external program (script)
Hello,

2008/4/15, Renaud Allard <renaud@???>:

>
> Hello,
>
>
> Konstantin Boyandin wrote:
> > Greetings,
> >
> > I need to pass outgoing (outgoing only) message to an external
> > program, to make certain header transformations (namely, canonize
> > certain To/From addresses) prior to their being actually sent. Could
> > someone offer me the hints on how to do that?
> >
> > The program/script expects message on stdin and sends modified message
> > to stdout for further processing/delivery.
> >
>
>
> It is relatively easy.
> You can create a touter which calls a "custom" transport.
>
 >  The router could look like this:
 >  mypipe_router:
 >         domains         = internal.domain.tld


What shall I list in the domains field to handle only outgoing email?
Or I shall check To/From/Cc etc headers to judge what kind of email it
is, incoming or outgoing?

 >         driver          = accept
 >         require_files   = /home/example/mycommand
 >         local_part_suffix_optional
 >         transport       = newspipe



It should be 'mypipe', as named below (i.e. the custom transport I
create to handle that)?

Also, where shall I place this custom router in order not to ruin the
normal message handling after it has been processed?

> The transport could be like this:
>
 >  mypipe:
 >         driver          = pipe
 >         command         = /home/example/mycommand
 >         return_path_add = false
 >         return_fail_output = true
 >         log_output      = true
 >         home_directory  = "/tmp"
 >         current_directory = "/tmp"
 >         group           = groupname


Thank you very much.