email-utils-kit
v1.0.3
Published
Lightweight and powerful email analysis toolkit for Node.js and TypeScript. Validates format, disposable emails, role-based addresses, public providers and MX records.
Maintainers
Readme
email-utils-kit
A lightweight and powerful email analysis toolkit for Node.js and TypeScript.
email-utils-kit helps you validate and inspect email addresses with a single API.
It checks format validity, disposable providers, role-based mailboxes, public email services and MX records.
Perfect for signup validation, authentication flows, form verification and backend email filtering.
What it does
- Detects disposable emails
- Detects role-based addresses like admin, support, info
- Checks if email is from a public provider (Gmail, Outlook, Yahoo)
- Verifies MX records
- Validates email format
- Fully typed for TypeScript
Why use it?
- Simple and intuitive API
- Accurate provider detection
- Fast MX lookup
- Works in any Node.js environment
- Zero configuration
Installation
npm install email-utils-kitor
yarn add email-utils-kitQuick Start
import { analyzeEmail } from "email-utils-kit";
const result = await analyzeEmail("[email protected]");
console.log(result);Output:
{
"input": "[email protected]",
"validFormat": true,
"disposable": false,
"roleBased": false,
"publicProvider": true,
"hasMx": true
}API Overview
1. analyzeEmail(email: string)
Runs the full validation pipeline.
import { analyzeEmail } from "email-utils-kit";
const info = await analyzeEmail("[email protected]");Returns:
interface EmailAnalysisResult {
input: string;
validFormat: boolean;
disposable: boolean;
roleBased: boolean;
publicProvider: boolean;
hasMx: boolean;
}2. isValidEmailFormat(email: string)
Checks only the email format.
import { isValidEmailFormat } from "email-utils-kit";
isValidEmailFormat("[email protected]"); // true3. isDisposable(email: string)
Detects whether an email is from a disposable provider.
import { isDisposable } from "email-utils-kit";
isDisposable("[email protected]"); // true4. isRoleEmail(email: string)
Detects role-based mailboxes like admin, info, support, sales.
import { isRoleEmail } from "email-utils-kit";
isRoleEmail("[email protected]"); // true5. isPublicProvider(email: string)
Checks if email is from a well-known public provider like Gmail or Yahoo.
import { isPublicProvider } from "email-utils-kit";
isPublicProvider("[email protected]"); // true6. hasValidMX(email: string)
Looks up DNS MX records to check deliverability.
import { hasValidMX } from "email-utils-kit";
await hasValidMX("[email protected]"); // true or falseUsage Example: Form Validation
import { analyzeEmail } from "email-utils-kit";
async function validateSignup(email: string) {
const result = await analyzeEmail(email);
if (!result.validFormat) return "Invalid email format";
if (result.disposable) return "Disposable emails are not allowed";
if (result.roleBased) return "Role-based emails are not allowed";
if (!result.hasMx) return "Email does not have valid MX records";
return "Valid email";
}TypeScript Support
This package ships with full TypeScript definitions:
import type { EmailAnalysisResult } from "email-utils-kit";License
MIT © Diptendu Barman
