Re: [Exim] Question regarding pipe config

Top Page
Delete this message
Reply to this message
Author: User GANBOLD Engineer
Date:  
To: Michael Scott Shappe
CC: exim-users
Subject: Re: [Exim] Question regarding pipe config
Hello,

I'm new to Exim and having trouble configuring Exim 4.10. My final purpose
is to configure Exim with mysql to support virtual users and domains as
well as regular users. Messages will be inserted into mysql table. Virtual
hosts and users will be checked from mysql tables. Perl script
saveemail.pl suppose to do above jobs.

On Tue, 1 Oct 2002, Michael Scott Shappe wrote:

> First of all, a little more detail about exactly what isn't working would
> help. You haven't told us anything except that it doesn't work.


I would like to send incoming message to the script through the pipe.
The way I'm doing is I'm sending whole message with message headers and
body to the saveemail.pl script as a command line argument. I'm not quite
sure whether it is right way or not. If you have an idea or you know
better way of doing this please let me know.

> Quoting User GANBOLD Engineer <ganbold@???>:
>
> > I'm having trouble to configure Exim 4.10 to use pipe driver.
> > I would like to send whole message to the script through pipe.
> [snip]
> > smtp_banner = "Micom Developed Mail server v.1.2 \n\n${primary_hostname}
> > ESMTP"
>
> This is very broken. Actually, I strongly recommend against changing the
> banner at all; but if you must, at least follow the RFCs; this doesn't.
> Someone else has already pointed out exactly how.


That's my big fault. Actual modification was first made by my co-worker
and I didn't notice it.

> [snip]
> > #     THE ORDER IN WHICH THE ROUTERS ARE DEFINED IS IMPORTANT!       #
> [snip]

>
> > #system_aliases:
> > # driver = redirect0
> > # allow_fail
> > # allow_defer
> > # data = ${lookup{$local_part}lsearch{/etc/aliases}}
> > # user = mailnull
> > # group = mail
> > # file_transport = address_file
> > # pipe_transport = address_pipe
>
> I can't imagine any reason why you would want to comment out the system
> aliases router.


I tried to use above but it said no such driver redirect0.

> > localuser:
> > driver = accept
> > check_local_user
> > transport = local_delivery
> >
> > all:
> > driver = accept
> > transport = zbtamail
>
> Routers are order dependent.
>
> 'all' will only get run if every other router fails.



So it means that if I want to handle all messages I should put 'all' in
first place, is that right?


> > zbtamail:
> > driver = pipe
> > command = ZBTAMAIL_SAVEEMAIL "$message_headers\n\n$message_body"
>
> Unless I've missed something from the exim spec, this will attempt to pass
> the message headers and message body as *command line arguments*, which is
> almost certainly not what you want.


Can you recommend me better way of doing this?


Ganbold


> Mike Shappe
>
> -------------------------------------------------
> This mail sent through IMP: http://horde.org/imp/
>
> --
>
> ## List details at http://www.exim.org/mailman/listinfo/exim-users Exim details at http://www.exim.org/ ##
>
>