Trouble with a fastfail hook is that it means the client has sent the username and password in the clear for the hook to activate.

On 7/30/13 2:09 AM, Jan-Philipp Hülshoff wrote:
What about doing it with a Hook for fastfail?
This hook fails the mail command if it is not authenticated. you could
also use the session.isTLSStarted() or session.isRelayingAllowed().

I'm using that hook on a second SMTP Server on port 465 to force
everyone to login.


public class AuthenticatedSMTPOnlyHandler implements MailHook {
        
        public AuthenticatedSMTPOnlyHandler(){
                
        }

        @Override
        public HookResult doMail(SMTPSession session,
           MailAddress adress) {
                //session.isTLSStarted()
                //session.isRelayingAllowed()
                if (session.getUser() == null){
                        return new HookResult(
                           HookReturnCode.DENY,
                           SMTPRetCode.AUTH_REQUIRED,
                           DSNStatus.getStatus(
                            DSNStatus.PERMANENT,
                            DSNStatus.SECURITY_AUTH+
                            " Authentication is required."));
                }
                if(session.getUser().trim().length() == 0){
                        return new HookResult(
                           HookReturnCode.DENY,
                           SMTPRetCode.AUTH_REQUIRED,
                           DSNStatus.getStatus(
                             DSNStatus.PERMANENT,
                             DSNStatus.SECURITY_AUTH+
                             " Authentication is required."));
                }
                return HookResult.ok();
        }
}


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to