Re: [Exim] "driver" concept?

Página superior
Eliminar este mensaje
Responder a este mensaje
Autor: Nico Erfurth
Fecha:  
A: Derek Simkowiak
Cc: JP Kelly, exim-users
Asunto: Re: [Exim] "driver" concept?
Derek Simkowiak wrote:
>     [Somebody please correct me if I'm wrong, as I have not yet tested
> this hypothesis...]

>
>     What I have learned is that, yes, there are a large number of
> built-in "drivers" (i.e., routers, transports, or authenticators).  Those
> built-in drivers do not need to be defined in the config file because they
> are built-in.


These are like drivers for IDE/SCSI/Network.

>     When you define your own "driver" (router, transport, or


I'm not sure if the term driver is right here, maybe "driver instance"
would be more correct, but on exim-users we mostly use the specific
terms router, transport and authenticator.

> authenticator) you are basically customizing one of the built-in drivers
> by using non-default config file options.


Yep.

>     In the common case, when a message comes in, it starts at the
> first router in the config file, and then goes through them one-by-one
> until it matches the preconditions for that router (Section 3.9).  Once
> the preconditions are met, it falls into that router, and then (commonly)
> would go to a transport.  It may also be redirected to another router,
> etc. -- see Section 3.8 for the full story.  For incoming mail, the
> message eventually winds up at a transport.


And it could be redirected to another address, this will restart the
whole router-process with the new address, unless you defined
redirect_router.

>     The transport is what would move it from the Exim queue to the
> enduser's mailbox file, or maybe a pipe to procmail.  The 'smtp' transport
> would relay the message on to a different host (I think).


Yep, basicly correct.

>     This system is very easy to understand.  I was at first confused
> because (a) I didn't realize there were a series of built-in drivers, and
> (b) because I could find no list of built-in drivers.  What I did not
> realize is that the drivers are listed as chapters of the manual... that
> is, Chapter 15 is the "accept router" (all routers are drivers), Chapter
> 26 is the "autoreply transport" (all transports are drivers), etc.

>
>     I would have kept on track if Section 3.7 would have said

>
> "There are a large number of built-in drivers (routers, transports, and
> authenticators) in Exim. You build your own drivers by specifying which
> built-in driver you want to use with the 'driver = ' option, and
> customizing that with the particular config options for that driver.


Well, this is not really correct, you just USE the driver for your
driver instance.

> The drivers are listed as chapter titles of this manual."
>
>     Of course that's completely obvious now (DOH!), but reading
> through it for the first time this was not obvious.  The HTML is set up
> such that you cannot see the titles of subsequent chapters at the time you
> are reading a particular chapter.  (And when I'm already stuck at Chapter
> 3, looking ahead ten or twenty chapters is the last thing I want to
> confuse myself with.)


Reading the docs more than one time doesn't hurt, believe me ;)

>>I presume it redirects or tells the router to redirect.
>
>
>     Yes.  It tells it to use the built-in 'redirect' router, see
> Chapter 21.

>
>
>>where does it redirect from and to?
>>what tells it where to redirect to?
>
>
>     See Chapter 21, I'm just a n00b (as they say on Counter-Strike).

>
>
>>I am sure this is pretty basic stuff but the router syntax is just not
>>very intuitive to me.
>
>
>     Assuming my interpretation is correct, this is both easy and
> powerful.  I'm starting to feel about Exim the way I feel about Python...!
> :)


It is, that's why we use it :)

The router-concept of exim allows great flexibility, if you want to see
something real sick, have a look at

http://mail.tmtowtdi.de/exim/exim4.qmail

the qmail_* routers are the interesting ones, if you know qmails
forward-file concept you maybe see what it does ;)

ciao