[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