Enterprise standard email intelligence and verification.
Project description
The Ultimate Enterprise-Standard Email Verification & Intelligence Library for Python
🌐 Website: email-intel.itshivam.in
This library is primarily focused on checking if an email is valid, checking if it's a temp/disposable email, and inferring the underlying email provider (e.g. Google Workspace, Microsoft 365, Zoho) with deep DNS analysis.
Features
- Email Validation: Real-time MX record resolution to check if the domain can actually receive emails.
- Disposable Email Detection: Checks domains against an automatically updated daily list of thousands of disposable/temp email services (like 10minutemail, GuerrillaMail).
- Provider Inference: Identifies enterprise security gateways and providers like Proofpoint, Mimecast, Google Workspace, Microsoft 365, Zoho, etc.
- Domain Classification: Intelligently classifies domains into
Education,Government,Organization,Public Webmail, orBusinessbased on TLDs and regex. - Synchronous Execution: Utilizes native
dnspythonfor extremely robust DNS probing.
📊 Intelligence Report Schema
When you analyze an email address (e.g., test@itshivam.in), the library returns a comprehensive intelligence report. Here is the data dictionary and an example of the return values:
| Field | Type | Example Value | Description |
|---|---|---|---|
email |
string | "test@itshivam.in" |
The email address that was analyzed. |
domain |
string | "itshivam.in" |
The extracted domain. |
valid |
boolean | true |
True if the domain has MX records and is not disposable. |
provider |
string | "Zoho Mail" |
The detected email provider behind the domain. |
type |
string | "Business" |
Categorization (e.g., Business, Public Webmail, Education). |
mx / spf / dmarc |
boolean | true |
True if the respective DNS security records were found. |
disposable |
boolean | false |
True if the domain belongs to a temporary/burn-after-reading email service. |
risk |
string | "low" |
Assessed risk level (low, medium, high) based on the score. |
score |
number | 100 |
A score out of 100 indicating the trustworthiness of the email address. |
Installation
pip install email-intel
Integration Guide
Backend Integration (Python)
In your Python backend (e.g., FastAPI, Django, Flask), you can use email-intel to block signups from disposable emails or validate that an email's domain actually exists before saving it to your database.
Here is an example using FastAPI:
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from email_intel import analyze
app = FastAPI()
class RegisterRequest(BaseModel):
email: str
@app.post("/register")
async def register(req: RegisterRequest):
try:
report = analyze(req.email)
except Exception as e:
raise HTTPException(status_code=500, detail="Email validation failed")
# 1. Check if the email domain is valid (has MX records)
if not report.get("valid"):
raise HTTPException(status_code=400, detail="Invalid email domain. Please provide a real email.")
# 2. Check if the email is a disposable/temp email
if report.get("disposable"):
raise HTTPException(status_code=400, detail="Disposable emails are not allowed.")
# 3. Optional: Block free public webmails if you only want B2B users
if report.get("type") == "Public Webmail":
raise HTTPException(status_code=400, detail="Please use your company email address.")
# Proceed with registration...
return {"message": "Registration successful!", "data": report}
CLI Usage
You can also use the package as a CLI tool in your terminal:
email-intel shivam@test.com
This will output a nice, formatted intelligence report utilizing rich!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file email_intel_py-1.0.2.tar.gz.
File metadata
- Download URL: email_intel_py-1.0.2.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bdb5a4bbd23523e2c04a898df43bd716f8416901776f1838117f91a952ddc753
|
|
| MD5 |
dde971fb44285f644437b98da3a75059
|
|
| BLAKE2b-256 |
01b49c24f073bf88d6e398018b18d8a478f6efb2a72a10c9f93543b6bc3babcb
|
File details
Details for the file email_intel_py-1.0.2-py3-none-any.whl.
File metadata
- Download URL: email_intel_py-1.0.2-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fd2845baa0dc89bcd4835275d35b6a98d9705c5454725c06c782340a8e2d165
|
|
| MD5 |
851626f9ada1daffde7f69fcaffd5769
|
|
| BLAKE2b-256 |
eab044c13eef2790fb275351e5c3e8b9594d6af4ee6a5b8563d6a6b61b84968a
|