diff --git a/pkg/miniauth/miniauth.go b/pkg/miniauth/miniauth.go
index 25436d1..c135c22 100644
--- a/pkg/miniauth/miniauth.go
+++ b/pkg/miniauth/miniauth.go
@@ -85,6 +85,16 @@ func (m Miniauth) UserLogin(username, password string) error {
 		return utils.WrapError(ErrLoginFailed, err, log)
 	}
 
+	if !m.config.LoginWithNotApprovedMail {
+		mail, err := m.store.MailGetPrimaryForUsername(username)
+		if err != nil {
+			return utils.WrapError(ErrLoginFailed, err, log)
+		}
+
+		if !mail.IsValidated {
+			return utils.WrapError(ErrLoginFailed, errors.New("mail is not validated"), log)
+		}
+	}
 	return nil
 }
 
diff --git a/pkg/miniauth/miniauth_test.go b/pkg/miniauth/miniauth_test.go
index d8b43a7..a75ee77 100644
--- a/pkg/miniauth/miniauth_test.go
+++ b/pkg/miniauth/miniauth_test.go
@@ -200,6 +200,14 @@ func TestLogin(t *testing.T) {
 			name:     "login-successfull",
 			username: "kekskurser",
 			password: "oDzry!!!YPEtHuofKE9hnea8TLTe2Doabi6ddy",
+			config:   MiniauthConfig{LoginWithNotApprovedMail: true},
+		},
+		{
+			name:            "login-failed-mail-not-approved",
+			username:        "kekskurser",
+			password:        "oDzry!!!YPEtHuofKE9hnea8TLTe2Doabi6ddy",
+			ExpectErr:       ErrLoginFailed,
+			EcpectErrString: "cant login: mail is not validated",
 		},
 		{
 			name:            "login-failed-user-not-found",