Skip to content

Commit 79e29e8

Browse files
committed
Send registration email on user autoregistration
When users login and are autoregistered send email notification. Fix #16178 Signed-off-by: Andrew Thornton <[email protected]>
1 parent 5d2e11e commit 79e29e8

File tree

5 files changed

+32
-3
lines changed

5 files changed

+32
-3
lines changed

services/auth/reverseproxy.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
"code.gitea.io/gitea/modules/log"
1414
"code.gitea.io/gitea/modules/setting"
1515
"code.gitea.io/gitea/modules/web/middleware"
16+
"code.gitea.io/gitea/services/mailer"
1617

1718
gouuid "github.com/google/uuid"
1819
)
@@ -112,5 +113,7 @@ func (r *ReverseProxy) newUser(req *http.Request) *models.User {
112113
return nil
113114
}
114115

116+
mailer.SendRegisterNotifyMail(user)
117+
115118
return user
116119
}

services/auth/source/ldap/source_authenticate.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"strings"
1010

1111
"code.gitea.io/gitea/models"
12+
"code.gitea.io/gitea/services/mailer"
1213
)
1314

1415
// Authenticate queries if login/password is valid against the LDAP directory pool,
@@ -84,8 +85,13 @@ func (source *Source) Authenticate(user *models.User, login, password string) (*
8485
}
8586

8687
err := models.CreateUser(user)
88+
if err != nil {
89+
return user, err
90+
}
91+
92+
mailer.SendRegisterNotifyMail(user)
8793

88-
if err == nil && isAttributeSSHPublicKeySet && models.AddPublicKeysBySource(user, source.loginSource, sr.SSHPublicKey) {
94+
if isAttributeSSHPublicKeySet && models.AddPublicKeysBySource(user, source.loginSource, sr.SSHPublicKey) {
8995
err = models.RewriteAllPublicKeys()
9096
}
9197

services/auth/source/pam/source_authenticate.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"code.gitea.io/gitea/models"
1212
"code.gitea.io/gitea/modules/auth/pam"
1313
"code.gitea.io/gitea/modules/setting"
14+
"code.gitea.io/gitea/services/mailer"
1415

1516
"github.com/google/uuid"
1617
)
@@ -58,5 +59,12 @@ func (source *Source) Authenticate(user *models.User, login, password string) (*
5859
LoginName: login, // This is what the user typed in
5960
IsActive: true,
6061
}
61-
return user, models.CreateUser(user)
62+
63+
if err := models.CreateUser(user); err != nil {
64+
return user, err
65+
}
66+
67+
mailer.SendRegisterNotifyMail(user)
68+
69+
return user, nil
6270
}

services/auth/source/smtp/source_authenticate.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212

1313
"code.gitea.io/gitea/models"
1414
"code.gitea.io/gitea/modules/util"
15+
"code.gitea.io/gitea/services/mailer"
1516
)
1617

1718
// Authenticate queries if the provided login/password is authenticates against the SMTP server
@@ -67,5 +68,12 @@ func (source *Source) Authenticate(user *models.User, login, password string) (*
6768
LoginName: login,
6869
IsActive: true,
6970
}
70-
return user, models.CreateUser(user)
71+
72+
if err := models.CreateUser(user); err != nil {
73+
return user, err
74+
}
75+
76+
mailer.SendRegisterNotifyMail(user)
77+
78+
return user, nil
7179
}

services/auth/sspi_windows.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
"code.gitea.io/gitea/modules/templates"
1717
"code.gitea.io/gitea/modules/web/middleware"
1818
"code.gitea.io/gitea/services/auth/source/sspi"
19+
"code.gitea.io/gitea/services/mailer"
1920

2021
gouuid "github.com/google/uuid"
2122
"github.com/quasoft/websspi"
@@ -197,6 +198,9 @@ func (s *SSPI) newUser(username string, cfg *sspi.Source) (*models.User, error)
197198
if err := models.CreateUser(user); err != nil {
198199
return nil, err
199200
}
201+
202+
mailer.SendRegisterNotifyMail(user)
203+
200204
return user, nil
201205
}
202206

0 commit comments

Comments
 (0)