diff --git a/smtpd_test.go b/smtpd_test.go index eb1dfba..24dd90b 100644 --- a/smtpd_test.go +++ b/smtpd_test.go @@ -318,6 +318,33 @@ func TestAuthNotSupported(t *testing.T) { } +func TestAuthBypass(t *testing.T) { + + addr, closer := runsslserver(t, &smtpd.Server{ + Authenticator: func(peer smtpd.Peer, username, password string) error { + return smtpd.Error{Code: 550, Message: "Denied"} + }, + ForceTLS: true, + ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile), + }) + + defer closer() + + c, err := smtp.Dial(addr) + if err != nil { + t.Fatalf("Dial failed: %v", err) + } + + if err := c.StartTLS(&tls.Config{InsecureSkipVerify: true}); err != nil { + t.Fatalf("STARTTLS failed: %v", err) + } + + if err := c.Mail("sender@example.org"); err == nil { + t.Fatal("Unexpected MAIL success") + } + +} + func TestConnectionCheck(t *testing.T) { addr, closer := runserver(t, &smtpd.Server{