Re: [exim] Multiple smtp relay

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Todd Lyons
Date:  
À: Mauro List
CC: exim-users
Sujet: Re: [exim] Multiple smtp relay
On Tue, Apr 19, 2011 at 11:25 PM, Mauro List <maurolist1@???> wrote:
> Hi all,
> I'm coming from sendmail and I would like to move to exim but I need some
> advices.


Someone else answered your question, so I'll skip that. I have
travelled the same road you are now taking (switching from sendmail to
exim) and I wanted to make some points for you to consider.

1. In sendmail, all of those *.m4 files are essentially code which
implements some feature or process. In most cases, you edit your
sendmail.mc, define some feature, possibly with some options, rebuild
the sendmail.cf, and restart sendmail. The process of the flow of a
the smtp conversation is relatively hard-coded into the sendmail.cf
construction (one knob which allows you to tweak that, for example, is
'delay_checks').

2. Exim is a bit different in that most of the features that are
implemented in the sendmail m4 files don't have a corresponding
one-line configuration setting in exim. Instead, you'll usually be
tasked with defining and ordering the logic as you see fit for your
installation. In the 'delay_checks' example above, in exim you would
simply put the rbl checks into the MAIL FROM or the RCPT TO acl
instead of the CONNECT acl (because you want to allow any dynamic
users the ability to AUTH before you reject them.)

3. You didn't state which distro you'll be using. If you use
Debian/Ubuntu, you'll likely be using Debian's style of configuration
(where you set a bunch of variables/settings and then run something
that generates the exim.conf from a series of templates. If you think
this sounds like sendmail.m4->sendmail.cf generation, I agree, it
does. But you'll get less useful help here if you do it that way, not
because we don't like it, but because most of us use the standard exim
configuration (a single file that we hand edit). We don't know all of
the logic and capabilties that the Debian style templates use. Two
good things though, is that Debian provides very good documentation
and that there is a Debian mailing list that is specifically for
questions regarding the Debian exim template system. If you use
Debian/Ubuntu and use their template, you'll get the best
configuration help there.

4. Sendmail has milters. Exim does not. You are going to have to
implement the logic of your favorite milter using the exim
configuration.

5. Along those same lines, however, Exim gives you much more
visibility into the SMTP conversation and flow. In my mind, I think
of Exim's acl section as if it was a milter in its own right,
programmed in exim's acl logic language.

6. Any time I want to process something, I think in terms of the SMTP
conversation. You will have to know what info is available at each
stage of the conversation. So when you write some logic to do
something, you'll have to put that logic into the appropriate acl
section, possibly in multiple sections.

7. Exim allows you to call embedded perl functions. It's a godsend
IMHO. If you have some feature that you used to do with a milter, the
perl can be a quick way to reimplement it if it would be insanely
difficult using exim's logic.
8. Exim has built in database lookups (local flat file, local db file,
local cdb file, mysql/postgresql/oracle database) where you can lookup
anything based on any key that you need.

In short, you have to make an adjustment in the way you think. You're
offered tremendous control, but the cost is that you need to
understand the SMTP conversation a little bit better than sendmail
required you (me) to. I learned a lot more about SMTP in general when
I switched to exim because sendmail hid a lot of things from me.

--
Regards...      Todd
"It is the nature of the human species to reject what is true but
unpleasant and to embrace what is obviously false but comforting."
"You might be a skeptic if you have pedantically argued the topic of pedantry."