mirror of
https://github.com/andwati/zitadel.git
synced 2026-10-29 10:32:15 +00:00
fix: Allow Auth over non-TLS SMTP connections (#6402)
* fix: Allow Auth over non-TLS SMTP connections * remove unused struct --------- Co-authored-by: Kitsune <[email protected]> Co-authored-by: Livio Spring <[email protected]>
This commit is contained in:
co-authored by
Kitsune
Livio Spring
parent
f07e40c70b
commit
14d799e750
@@ -159,7 +159,9 @@ func (smtpConfig SMTP) smtpAuth(client *smtp.Client, host string) error {
|
||||
return nil
|
||||
}
|
||||
// Auth
|
||||
auth := smtp.PlainAuth("", smtpConfig.User, smtpConfig.Password, host)
|
||||
auth := unencryptedAuth{
|
||||
smtp.PlainAuth("", smtpConfig.User, smtpConfig.Password, host),
|
||||
}
|
||||
err := client.Auth(auth)
|
||||
if err != nil {
|
||||
return caos_errs.ThrowInternalf(err, "EMAIL-s9kfs", "could not add smtp auth for user %s", smtpConfig.User)
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package smtp
|
||||
|
||||
import (
|
||||
"net/smtp"
|
||||
)
|
||||
|
||||
type unencryptedAuth struct {
|
||||
smtp.Auth
|
||||
}
|
||||
|
||||
// PlainAuth returns an Auth that implements the PLAIN authentication
|
||||
// mechanism as defined in RFC 4616. The returned Auth uses the given
|
||||
// username and password to authenticate to host and act as identity.
|
||||
// Usually identity should be the empty string, to act as username.
|
||||
//
|
||||
// This reimplementation allows it to work over non-TLS connections
|
||||
|
||||
func (a unencryptedAuth) Start(server *smtp.ServerInfo) (string, []byte, error) {
|
||||
s := *server
|
||||
s.TLS = true
|
||||
return a.Auth.Start(&s)
|
||||
}
|
||||
Reference in New Issue
Block a user