From 469c269417f0204740f34158e7e976708ea25549 Mon Sep 17 00:00:00 2001 From: SteveT Date: Sun, 12 May 2019 09:36:46 +0100 Subject: [PATCH] Permit backend Auth method to return own error message Fixes #38 --- conn.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/conn.go b/conn.go index 508c9aa..cbe5a5c 100644 --- a/conn.go +++ b/conn.go @@ -360,6 +360,10 @@ func (c *Conn) handleAuth(arg string) { for { challenge, done, err := sasl.Next(response) if err != nil { + if smtpErr, ok := err.(*SMTPError); ok { + c.WriteResponse(smtpErr.Code, smtpErr.EnhancedCode, smtpErr.Message) + return + } c.WriteResponse(454, EnhancedCode{4, 7, 0}, err.Error()) return }