diff --git a/cmd/smtpd/main.go b/cmd/smtpd/main.go index 350f6f3..a0a511b 100644 --- a/cmd/smtpd/main.go +++ b/cmd/smtpd/main.go @@ -7,6 +7,11 @@ import ( "log" ) +func authenticate(peer smtpd.Peer, username, password string) error { + log.Printf("Auth: %s / %s", username, password) + return nil +} + func dumpMessage(peer smtpd.Peer, env smtpd.Envelope) error { log.Printf("New mail from: %s", env.Sender) return nil @@ -33,6 +38,7 @@ func main() { server := &smtpd.Server{ Handler: dumpMessage, + Authenticator: authenticate, TLSConfig: tlsConfig, ForceTLS: true, } diff --git a/smtpd.go b/smtpd.go index da6ee80..1314186 100644 --- a/smtpd.go +++ b/smtpd.go @@ -249,7 +249,7 @@ func (session *session) extensions() []string { extensions = append(extensions, "STARTTLS") } - if session.tls { + if session.server.Authenticator != nil && session.tls { extensions = append(extensions, "AUTH PLAIN LOGIN") }