Skip to main content

Enterprise standard email intelligence and verification.

Project description

Email-Intel Banner

The Ultimate Enterprise-Standard Email Verification & Intelligence Library for Python

PyPI version PyPI downloads License: MIT

🌐 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, or Business based on TLDs and regex.
  • Synchronous Execution: Utilizes native dnspython for 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

email_intel_py-1.0.2.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

email_intel_py-1.0.2-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

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

Hashes for email_intel_py-1.0.2.tar.gz
Algorithm Hash digest
SHA256 bdb5a4bbd23523e2c04a898df43bd716f8416901776f1838117f91a952ddc753
MD5 dde971fb44285f644437b98da3a75059
BLAKE2b-256 01b49c24f073bf88d6e398018b18d8a478f6efb2a72a10c9f93543b6bc3babcb

See more details on using hashes here.

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

Hashes for email_intel_py-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1fd2845baa0dc89bcd4835275d35b6a98d9705c5454725c06c782340a8e2d165
MD5 851626f9ada1daffde7f69fcaffd5769
BLAKE2b-256 eab044c13eef2790fb275351e5c3e8b9594d6af4ee6a5b8563d6a6b61b84968a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page