email-sentry
v2.0.3
Published
An email utility to validate addresses, detect disposable domains, and normalize Gmail aliases for more secure user identification.
Maintainers
Readme
📧 email-sentry
email-sentry is a lightweight and production-ready utility to:
- ✅ Validate email format
- 🚫 Detect disposable/temp email domains
- 📩 Normalize Gmail aliases, e.g.
[email protected]→[email protected][email protected]→[email protected][email protected]→[email protected](dots preserved in some clients)
Updates
1.0.2 version- supports only the Gmail normalization
- Contains 4.0k disposable domain name to validate
1.1.0 version- supports @gmail.com, @yahoo.com, @outlook.com, @hotmail.com, @live.com, @msn.com, @icloud.com, @protonmail.com, @zoho.com (now a wide range to protect your website from spoofing and fake accounts)
- Contains 4.5k disposable domain name to validate
Features
- Simple API
- Tiny & dependency-light
- Helps prevent spam/bots during user signups
- Supports thousands of disposable email providers
- Built in TypeScript (fully typed)
Installation
npm install email-sentry
# or
yarn add email-sentryUsage
import { emailSentry } from "email-sentry";
const result = emailSentry("[email protected]", {
validate: true,
checkDisposable: true,
normalizeGmailAliases: true, //deprecated
normalizeEmail: true // Use this instead of normalizeGmailAliases
});
/*
normalizeGmailAliases and normalizeEmail gives the same result
*/
console.log(result);
/*
{
inputEmail: '[email protected]',
success: true,
isValid: true,
isDisposable: true,
outputEmail: '[email protected]'
}
*/Options
| Option | Type | Description |
|------------------------|-----------|---------------------------------------------------|
| validate | boolean | Validates email using the powerful email validator package |
| checkDisposable | boolean | Checks against known disposable email domains, contains 5000+ disposable domains data |
| @deprecated normalizeGmailAliases | boolean | Removes +something from Gmail addresses and prevent the same email address to use to create account, use normalizeEmail instead |
| normalizeEmail | boolean | Removes +something from All email clients like yahoo, zoho, msn, outlook and more client email addresses and prevent the same email address to use to create account |
Testing
Run all tests with:
npm testOr watch mode:
npm run test:watchLicense
MIT © Yashraj
Author
Made with ❤️ by Yashraj
If you like this project, consider ⭐️ starring the repo or sharing it. It helps a lot!
