Browse Source

#2152 fix SMTP authentication makes invalid assumption on protocol

pull/2166/head
Unknwon 9 years ago
parent
commit
76bdbcc969
  1. 7
      models/login.go

7
models/login.go

@ -10,6 +10,7 @@ import (
"errors" "errors"
"fmt" "fmt"
"net/smtp" "net/smtp"
"net/textproto"
"strings" "strings"
"time" "time"
@ -371,7 +372,11 @@ func LoginUserSMTPSource(u *User, name, passwd string, sourceID int64, cfg *SMTP
} }
if err := SMTPAuth(auth, cfg); err != nil { if err := SMTPAuth(auth, cfg); err != nil {
if strings.Contains(err.Error(), "Username and Password not accepted") { // Check standard error format first,
// then fallback to worse case.
tperr, ok := err.(*textproto.Error)
if (ok && tperr.Code == 535) ||
strings.Contains(err.Error(), "Username and Password not accepted") {
return nil, ErrUserNotExist{0, name} return nil, ErrUserNotExist{0, name}
} }
return nil, err return nil, err

Loading…
Cancel
Save