NginxProxyManager / NginxProxyManager/nginx-proxy-manager

Bug Report: Email validation inconsistency between registration and login

Open
#5,370 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
TypeScript
Stars
34.2k
Forks
3.9k
Avg merge
21h 12m
Merged PRs (30d)
20

Description

Checklist

  • Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?
    • Yes
  • Are you sure you're not using someone else's docker image?
    • Yes
  • Have you searched for similar issues (both open and closed)?
    • Yes

Description:
Bug Report: Email validation inconsistency between registration and login

Summary
During initial setup, an admin account is created requiring an email address. The registration form accepts email addresses with long domain extensions (e.g. .photography, .solutions, .international). However, when attempting to log in with that same email address, the system returns an "invalid email address" error — effectively locking the admin out of the application.

Steps to Reproduce

  • Install the application and start the initial setup
  • Create an admin user with an email address using a long TLD (e.g. admin@example.photography)
  • Complete the setup
  • Attempt to log in with the same email address
    ❌ Error: "Email address is invalid"

Expected Behavior
Login should accept any email address that was accepted during registration. Validation rules must be consistent across all forms.

Actual Behavior
Login rejects email addresses with long TLDs, even though registration accepted them.

Impact
🔴 Critical — User is completely locked out after setup. There is no workaround without direct database access.

Possible Cause
Different regex patterns used for email validation in the registration vs. login flow. The login validator likely uses an outdated pattern that doesn't support modern long TLDs.

Nginx Proxy Manager Version

Nginx version: 2.14

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing the email validation used during registration with the validation used during login. Reproduce the issue with an address such as admin@example.photography, then verify that both flows accept the same long-TLD address and that existing validation behavior remains intact.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
authentication
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.