Socket
Book a DemoInstallSign in
Socket

email-validator-dns-provider-rules

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

email-validator-dns-provider-rules

Strict Email Validator with checking DNS MX records and email providers rules in browser!

Source
npmnpm
Version
1.0.9
Version published
Weekly downloads
233
-25.8%
Maintainers
1
Weekly downloads
 
Created
Source

Email validator dns provider rules

Email Validator with checking DNS MX records and strict real-life symbols rules

  • more strict and realistic validation for symbols before "@"
  • stricter specific rules for ESP like gmail, yahoo, etc
  • check if domain really exist and works
  • check if domain can receive emails (DNS MX record)
  • your version of invalid reasons text
  • passing your blocklist MX domains
  • everything works in browser! (DNS query by DOH)

Invalid emails that other validators pass:

emailreason
som_e-one@gmail.comGmail don't allows "_" and "-" symbols
someone@8avymt4v93mvt3t03.com"8avymt4v93mvt3t03.com" isn't real domain and dont have DNS MX records
s!o#m$e%o^n&e@realdomain.com99.99% public email providers allow only "a-z","0-9",".","_","-","+" before "@" part
someone@hotnail.compossibility of adding your blocklist of domains and MX domains

Usage

npm install email-validator-dns-provider-rules --save
import { isValidEmail, getLastInvalidText } from "email-validator-dns-provider-rules";

if (!await isValidEmail('someone@gmail.com')) {
    alert('Please correct your email: ' + getLastInvalidText());
}

Your version of invalid reasons text

You can use getLastInvalidReasonId() and make dictionary with your version of text:

const INVALID_REASON_TEXT = {
    INVALID_REASON_AMOUNT_OF_AT: 'no @ symbol or too many of them',
    INVALID_REASON_USERNAME_GENERAL_RULES: 'invalid username before @ by general email rules',
    INVALID_REASON_DOMAIN_GENERAL_RULES: 'invalid domain after @ by general domain rules',
    INVALID_REASON_NO_DNS_MX_RECORDS: 'domain after @ has no DNS MX records',
    INVALID_REASON_DOMAIN_IN_BLOCKLIST: 'email domain is in blocklist',
    INVALID_REASON_USERNAME_VENDOR_RULES: 'invalid username before @ by domain vendor rules',
}

Passing your blocklist domains

const yourBlocklistDomains = ['somedomain.com', '...'];
isValidEmail('someone@gmail.com', yourBlocklistDomains);

Passing your DOH provider

You can choose other DNS over HTTPS provider or even create your own

isValidEmail('someone@gmail.com', null, 'https://your-provider-site/dns-query');

Testing

npm test

generating d.ts

tsc --declaration src/index.js --allowJs

NPM package

https://www.npmjs.com/package/email-validator-dns-provider-rules

Keywords

email

FAQs

Package last updated on 12 Feb 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts