Skip to content

Fix(isEmail): Added support for internationalized domain names #2473

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

aabboudi
Copy link

@aabboudi aabboudi commented Oct 12, 2024

Added the allow_idn option which is passed down to isFQDN to check if the domain name contains non-ASCII characters. It defaults to true to maintain original behavior. If set to false, it rejects domain names in non-Latin alphabets like Arabic, Chinese, Cyrillic, etc.

Closes #2390

References

For more information on IDNs, please refer to the following:

Checklist

  • PR contains only changes related; no stray files, etc.
  • README updated (where applicable)
  • Tests written (where applicable)
  • References provided in PR (where applicable)

@rubiin
Copy link
Member

rubiin commented Oct 16, 2024

Add tests too

@aabboudi
Copy link
Author

Went ahead and added tests for isEmail and isURL with the new option, allow_idn, set to false.

@WikiRik
Copy link
Member

WikiRik commented Oct 17, 2024

Please update the README as well, see the checklist in the PR description

@Apidcloud
Copy link

Apidcloud commented Jun 23, 2025

Can we get this merged? AWS SES doesn't seem to support special characters in the domain, resulting in the error: "Domain contains control or whitespace". I believe this PR can also be combined with #2049 as it doesn't allow invisible characters as well (when combined with allow_utf8_local_part), but they should be added to the test cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

extended ascii passed isEmail validation
4 participants