On Sat, 28 Mar 2009 08:20:53 +0800 (SGT)
p...@sg.homeunix.com wrote:
>      Basically i need to deny incoming connections from non-local clients
> based on whether they have authenticated or not. So if an external
> sending server doesn't authenticate with us, he can't even send to
> local recipient.
> 
>      with my previous qmail installation i just needed to define
> "REQUIRE_AUTH" in my tcprules file. just how do it do it with
> qpsmtpd?

Load the "check_relay" plugin and a plugin like this (before any other
rcpt checking plugin)

sub hook_rcpt {
   my ($self, $qp, $recipient, @args) = @_;
   # relay_client is true if a client has authed or set as 
   # relay client by the "check_relay" plugin. 
   return (DENY, "Sending host is not local or authed") 
     unless $self->qp->connection->relay_client;
   
   return DECLINED;          
}

        Hanno

Reply via email to