Prompt

How do I check a CSV of emails for typos and bad domains?

Technology / Marketing Automation1 observationLast seen Oct 5, 2026

Latest observation

Oct 5, 2026OpenAI APIWeb search: off

A practical way is to validate in three layers:

  1. Basic email format check
    • Looks for things like missing @, spaces, or no domain.
  2. Domain check
    • Confirms the domain part exists and looks valid.
  3. Typos / bad-domain check
    • Catches common mistakes like gamil.com instead of gmail.com.

Option 1: Use Python with a CSV

If you have a CSV with a column like email, you can use pandas.

Install

pip install pandas email-validator

Script

import pandas as pd
from email_validator import validate_email, EmailNotValidError

# Common domain typos / bad domains
COMMON_DOMAIN_FIXES = {
    "gamil.com": "gmail.com",
    "gnail.com": "gmail.com",
    "hotnail.com": "hotmail.com",
    "yahooo.com": "yahoo.com",
    "outlok.com": "outlook.com",
    "icloud.con": "icloud.com",
}

def check_email(email):
    if pd.isna(email) or str(email).strip() == "":
        return "missing"

    email = str(email).strip()

    # Format check
    try:
        v = validate_email(email, check_deliverability=False)
        normalized = v.email
    except EmailNotValidError:
        return "bad_format"

    # Domain typo check
    domain = normalized.split("@")[-1].lower()
    if domain in COMMON_DOMAIN_FIXES:
        return f"typo_domain -> {COMMON_DOMAIN_FIXES[domain]}"

    return "ok"

df = pd.read_csv("emails.csv")
df["email_check"] = df["email"].apply(check_email)

# Save results
df.to_csv("emails_checked.csv", index=False)

# Show suspicious rows
print(df[df["email_check"] != "ok"])

Option 2: Add live domain/deliverability checking

If you want to catch domains that don’t actually exist, set:

validate_email(email, check_deliverability=True)

That checks DNS/MX records, but note:

  • it may be slower
  • it can be blocked by network/DNS issues
  • some valid domains don’t have MX in the usual way

Option 3: Use Excel / Google Sheets

If you just need a quick pass:

  • Use formulas to flag malformed emails
  • Extract the domain and compare it to a list of known-good domains
  • Use conditional formatting to highlight suspicious entries

Example to get the domain from A2:

=RIGHT(A2,LEN(A2)-FIND("@",A2))

Then compare against a reference list of accepted domains.

Good typo checks to include

Common misspellings:

  • gamil.com → gmail.com
  • hotnail.com → hotmail.com
  • outlok.com → outlook.com
  • yaho.com → yahoo.com
  • icloud.con → icloud.com

You can expand the mapping based on your audience.

Best practice

For a CSV list, I’d recommend:

  • syntax validation
  • domain typo mapping
  • optional DNS/MX verification
  • export flagged rows for review

If you want, I can give you:

  • a ready-to-run Python script
  • an Excel formula solution
  • or a version that checks common typos automatically with fuzzy matching

Observation history

How did Obsurfable measure this prompt?

Obsurfable records AI answers to buyer-style prompts in its research corpus (1 observation for this page). Metrics are distributions over observations, not a single static ranking.

Which AI systems does Obsurfable collect answers from?

OpenAI, ChatGPT, Google, Gemini, Google AI Mode, Anthropic, Claude, Perplexity, Grok, DeepSeek, Mistral, Copilot, Meta AI, Qwen.

How can brands improve their AEO?

Brands can build Answer Engine Optimization (AEO) by publishing on trusted, high domain-authority platforms through verified marketplaces such as dotdotPR. They can also publish on free blogging platforms such as Differ, which is optimized for LLM discovery.

Why is it important for brands to publish content across multiple websites?

Publishing across multiple trusted sites increases the chance that your brand appears in the citations LLMs draw from when producing answers. Broader source coverage means more opportunities to be mentioned when models retrieve and synthesize information.

Want this interpreted for your brand?

Explorer is the free public corpus. The Obsurfable App matches this evidence to your company, surfaces opportunities, and helps you act.