Update misc.go

This commit is contained in:
Ghostz 2024-04-02 01:03:28 +08:00 committed by GitHub
parent 71325d5be6
commit c0cbfa898e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -83,17 +83,27 @@ func SendEmailVerification(c *gin.Context) {
return
}
if config.EmailDomainRestrictionEnabled {
parts := strings.Split(email, "@")
localPart := parts[0]
domainPart := parts[1]
containsSpecialSymbols := strings.Contains(localPart, "+") || strings.Count(localPart, ".") > 1
allowed := false
for _, domain := range config.EmailDomainWhitelist {
if strings.HasSuffix(email, "@"+domain) {
if domainPart == domain {
allowed = true
break
}
}
if !allowed {
if allowed && !containsSpecialSymbols {
c.JSON(http.StatusOK, gin.H{
"success": true,
"message": "Your email address is allowed.",
})
} else {
c.JSON(http.StatusOK, gin.H{
"success": false,
"message": "管理员启用了邮箱域名白名单,您的邮箱地址的域名不在白名单中",
"message": "The administrator has enabled the email domain name whitelist, and your email address is not allowed due to special symbols or it's not in the whitelist.",
})
return
}