SMTP Email Verifier
Pricing
$0.01 / 1,000 checked emails
SMTP Email Verifier
Check email addresses in bulk with syntax validation, MX records, SMTP RCPT TO mailbox probes, catch-all detection, disposable and role flags, confidence, and recommended actions. No email is sent.
Pricing
$0.01 / 1,000 checked emails
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
3
Monthly active users
8 days ago
Last modified
Categories
Share
📬 SMTP email verification for bulk email lists
Use this SMTP email verifier to check email addresses before you import, enrich, or send to a list. It validates syntax, looks up MX records, opens an SMTP conversation, checks the recipient with RCPT TO, and returns a practical decision without sending an email.
- SMTP email verification for outreach lists that need mailbox-level evidence before upload.
- smtp email verifier for CRM cleanup, signup review, and scraped contact QA.
- Bulk email verifier for CSV, pasted, or direct email lists that need syntax, MX, SMTP, and risk decisions in one export.
- Email list cleaning for teams that want send, suppress, review, and retry buckets before moving contacts into a CRM or outreach tool.
- Catch-all email checker for domains that accept random recipients and need cautious send recommendations instead of false certainty.
✅ Data returned
Each saved row is one checked email address with fields you can filter, export, or send to another tool:
| Field group | What you get |
|---|---|
| Email result | email, domain, status, verdict, sendable, confidence, qualityScore, and riskLevel |
| Action fields | decision, recommendedDisposition, recommendedAction, and automation flags for send, review, retry, or suppress workflows |
| Syntax evidence | Validity, syntax errors, and typo suggestions when available |
| MX evidence | MX status, detected provider, and sorted MX records |
| SMTP evidence | Verification method, SMTP code, SMTP message, error text when available, and attempt count |
| Risk flags | Catch-all, disposable, role-based, and free-provider signals |
| Domain health | SPF, DMARC, and common DKIM selector checks when enabled |
The Actor also saves a SUMMARY record with run-level counts and a DOMAIN_SUMMARY record with per-domain counts, provider hints, catch-all counts, and domain-health signals.
▶️ How to run
- Add emails in Email addresses, paste copied text in Paste emails, or upload a CSV/TXT file.
- Keep the default checks enabled for syntax, MX, SMTP, catch-all, disposable, role-based, typo, and domain-health signals.
- Set Run limit when you want to process only part of a larger file or list.
- Run the Actor, then open the dataset to review status, confidence, risk flags, and recommended action for each email.
Advanced SMTP settings are available for teams that need a custom MAIL FROM address, SMTP port, timeout, retry count, or per-domain cap. Most first runs can use the defaults.
🧾 Input
You can provide emails in three ways and combine them in one run:
- Email addresses - one address per row.
- Paste emails - raw CSV rows, CRM text, comma-separated values, or one address per line.
- Upload CSV or TXT file - spreadsheet exports or plain text files.
Optional toggles control catch-all detection, disposable-domain checks, role-address checks, typo suggestions, and domain-health checks. The Actor normalizes inputs, removes duplicates, respects the run limit, and can cap checks per domain.
🧪 Output example
{"email": "admin@example.com","domain": "example.com","status": "catch_all","verdict": "Valid - Catch-all domain","sendable": true,"confidence": 0.72,"qualityScore": 78,"riskLevel": "medium","decision": "send_monitor","recommendedDisposition": "send_with_caution","recommendedAction": "Send with caution because the domain accepts all recipients.","riskFlags": ["catch_all", "role_based"],"flags": {"isDisposable": false,"isRoleBased": true,"isFreeProvider": false,"isCatchAll": true,"catchAllConfidence": 0.9},"syntax": {"isValid": true,"errors": [],"suggestion": null},"mx": {"hasRecords": true,"provider": "Google Workspace","records": [{"priority": 10,"exchange": "aspmx.l.google.com"}]},"smtp": {"method": "smtp","code": 250,"message": "2.1.5 OK","error": null,"attempts": 2},"domainHealth": {"spf": true,"dmarc": true,"dkim": false,"dkimSelectorsChecked": ["default", "selector1", "selector2", "google", "k1", "mail"]},"failureAnalysis": {"primaryCause": "catch_all","category": "deliverability_risk","severity": "medium","recoverable": true,"explanation": "Domain accepts random recipients, so the specific mailbox cannot be confirmed."},"automation": {"sendToCadence": true,"sendToSuppression": false,"requiresRetry": false,"requiresReview": true,"requiresReplacement": false}}
💳 Pricing
This Actor charges one email-verified event for each checked email row that is saved to the dataset.
| Unit | Price |
|---|---|
| 1 checked email | $0.00001 |
| 1,000 checked emails | $0.01 |
There is no actor-start charge. Empty input, duplicate input, unreadable uploaded files, skipped per-domain overages, and runs with no saved email checks are not charged as checked emails.
🔌 Integrations
- Export checked emails to JSON, CSV, Excel, XML, RSS, or HTML from the Apify dataset.
- Use the Apify API to run SMTP email verification from your app or enrichment pipeline.
- Schedule repeat list checks and send finished datasets to webhooks or downstream Apify integrations.
- Combine results with website email discovery, CRM cleanup, cold outreach QA, or signup review workflows.
❓ FAQ
📮 Does this do a real SMTP check?
Yes. After syntax and MX checks, the Actor connects to the target mail server and performs an SMTP recipient probe with RCPT TO. It then closes the connection without sending a message.
🧱 Why does it check MX records first?
MX records tell the Actor which mail servers receive email for a domain. If a domain has no usable MX records, the Actor can return no_mx without wasting SMTP attempts.
🕵️ Why are some results marked unknown, blocked, or catch_all?
Some mail servers hide mailbox validity, block probing, rate-limit connections, or accept all recipients. The Actor keeps those outcomes separate and gives a recommended action instead of pretending they are confirmed valid mailboxes.
🔑 Do I need Gmail, Outlook, SMTP, or verifier API credentials?
No. You only provide the email addresses you want to check. The Actor does not need inbox credentials, an email provider login, or a third-party verifier API key.
🧪 Can I use this for email list cleaning?
Yes. The output includes suppress, retry, review, send, and send-with-caution decisions so you can clean a list before importing it into a CRM, outreach tool, newsletter tool, or data pipeline.
📡 Why not use an SMTP API?
SMTP is a protocol, not a single public API for checking every mailbox. This Actor wraps syntax, DNS, SMTP, catch-all, and list-quality checks into one Apify run so you can export the results or call them through the Apify API.
🔁 What are SMTP email verifier alternatives?
Alternatives include MX-only email checkers, paid email verification APIs, CRM validation tools, and lead-enrichment platforms. Use this Actor when you already have the email addresses and want credential-free SMTP evidence plus action-ready output.
📝 Changelog
- 0.1: Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Other actors
- Website Emails Scraper ↗ - Find public contact emails from websites before you verify deliverability.
- Email MX Verifier ↗ - Run lighter MX-first email list checks with optional SMTP probing.
- Gmail Username Checker ↗ - Check Gmail username availability before choosing new inbox ideas.
- LinkedIn Company People Scraper ↗ - Export company people for prospect research and CRM prep.
- LinkedIn Company Scraper ↗ - Pull public company profile facts, websites, industries, and size data from LinkedIn.
Made with ❤️ by Maxime Dupré