[Mimedefang] Difference between filter_helo and filter_relay
John Rudd
john at rudd.cc
Fri Apr 21 03:40:07 EDT 2006
On Apr 20, 2006, at 10:57 PM, Mark van Proctor wrote:
> Hi,
>
> Excuse my ignorance (I'm new to this...), but what is the difference
> between
> filter_helo and filter_relay?
>
> My assumption is that helo is used when a client directly logs in
> through
> SMTP to send an email (generally a local user, so most likely going to
> be
> OUTBOUND or INTERNAL emails) whereas relay is used when a remote mail
> server
> connects to relay an email destined for a local email address (most
> likely
> going to be an INBOUND email).
>
> In my assumption, only one of those filters would ever get called...
> Is this
> correct?
You're wrong to distinguish it between "local client" and "remote mail
server".
filter_relay happens immediately when your sendmail accepts _any_
connection, not just from remote mail servers. It allows you to decide
whether or not to accept the connection based on whatever programatic
behavior you want. (I believe it happens just after the tcp connection,
and before sendmail sends its 220 greeting)
filter_helo happens after the connection, after sendmail sends the 220
greeting, and just after the other machine (again, any machine, not
just clients) has sent the "HELO" or "EHLO" command. This allows you
to decide if you want to drop the connection based upon the content of
the HELO/EHLO arguments.
So, both happen no matter whether the connecting machine is a local
client or a remote server. If you have enabled both, both always
happen. Not just "one exclusively or with the other".
Make sense?
More information about the MIMEDefang
mailing list