n8n-nodes-mailsafepro
v1.0.1
Published
n8n community node for MailSafePro Email Validation API - Enterprise email validation with risk scoring, SMTP verification, batch processing, and deliverability analysis
Downloads
215
Maintainers
Readme
n8n-nodes-mailsafepro
Enterprise-grade email validation node for n8n workflow automation
Features • Installation • Operations • Examples • API Reference • Support
🎯 Features
Core Capabilities
| Feature | Description | |---------|-------------| | ✅ Single Validation | Real-time email validation with full analysis | | 📊 Batch Validation | Process up to 10,000 emails asynchronously | | ⏳ Wait for Completion | Built-in polling with configurable timeout | | ⚡ Quick Check | Fast syntax/domain validation without SMTP | | 🔄 Auto-Retry | Exponential backoff for rate limit handling | | 📈 Statistics | Automatic batch statistics calculation |
Validation Features
| Feature | Description | |---------|-------------| | 🔍 SMTP Verification | Real mailbox existence checking | | ⚠️ Risk Scoring | Multi-factor risk assessment (0-1 scale) | | 🛡️ DNS Security | SPF, DKIM, DMARC validation | | 🚫 Spam Trap Detection | Identify honeypot addresses | | 📧 Disposable Detection | Block 10,000+ temporary email services | | 🏢 Role Email Detection | Identify generic addresses (admin@, info@) | | 🎯 Catch-All Detection | Identify domains accepting all emails |
Enriched Output
Every validation result includes computed fields for easy workflow logic:
| Field | Type | Description |
|-------|------|-------------|
| risk_level | string | low / medium / high |
| quality_tier | string | excellent / good / fair / poor |
| is_safe_to_send | boolean | Safe to send (valid + low risk) |
| is_high_risk | boolean | Risk score ≥ 0.7 |
| should_review | boolean | Medium risk, needs manual review |
| recommendation | string | Human-readable action recommendation |
| deliverability_status | string | high / medium / low / unknown |
📦 Installation
Community Nodes (Recommended)
- Go to Settings → Community Nodes
- Click Install
- Enter
n8n-nodes-mailsafepro - Click Install
Manual Installation
cd ~/.n8n
npm install n8n-nodes-mailsafeproDocker
# docker-compose.yml
services:
n8n:
image: n8nio/n8n
environment:
- N8N_CUSTOM_EXTENSIONS=/home/node/.n8n/custom
volumes:
- ./custom:/home/node/.n8n/customThen install the package in the custom directory.
🔑 Configuration
Get Your API Key
- Sign up at mailsafepro.com
- Go to your Dashboard
- Copy your API Key
Add Credentials in n8n
- Go to Credentials → New
- Search for MailSafePro
- Enter your API Key
- (Optional) Change Base URL for self-hosted instances
- Click Save
📋 Operations
Email Resource
Validate Single
Full validation of a single email address with SMTP verification.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | Email | string | ✅ | - | Email address to validate | | Check SMTP | boolean | ❌ | true | Perform SMTP mailbox verification | | Include Raw DNS | boolean | ❌ | false | Include full DNS records | | Timeout | number | ❌ | 30 | Request timeout in seconds |
{
"email": "[email protected]",
"valid": true,
"status": "deliverable",
"risk_score": 0.15,
"quality_score": 0.89,
"risk_level": "low",
"quality_tier": "excellent",
"is_safe_to_send": true,
"is_high_risk": false,
"should_review": false,
"recommendation": "✅ Safe to send",
"deliverability_status": "high",
"provider_analysis": {
"provider": "google",
"reputation": 0.95
},
"smtp_validation": {
"checked": true,
"mailbox_exists": true
},
"validated_at": "2026-01-04T12:00:00.000Z"
}Validate Multiple (Sync)
Validate multiple emails synchronously (max 100).
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | Emails | string | ✅ | - | Comma/newline/semicolon separated | | Check SMTP | boolean | ❌ | false | SMTP verification | | Return Individual Results | boolean | ❌ | true | Split into separate items | | Include Statistics | boolean | ❌ | true | Include batch statistics |
Quick Check
Fast syntax and domain validation without SMTP (ideal for real-time form validation).
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | Email | string | ✅ | Email address to check |
Batch Job Resource
Create Job
Create an async batch validation job for large lists.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Emails | string | ✅ | - | List of emails (max 10,000) |
| Check SMTP | boolean | ❌ | false | SMTP verification |
| Priority | select | ❌ | normal | low / normal / high |
| Callback URL | string | ❌ | - | Webhook for completion |
| Job Name | string | ❌ | - | Identifier for the job |
| Deduplicate | boolean | ❌ | true | Remove duplicates |
Get Status
Check the current status of a batch job.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | Job ID | string | ✅ | The batch job ID |
Returns: Status with progress_percent, is_completed, is_processing, is_failed
Get Results
Retrieve validation results from a completed job.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | Job ID | string | ✅ | - | The batch job ID | | Page | number | ❌ | 1 | Page number | | Page Size | number | ❌ | 100 | Results per page (max 1000) | | Filter Status | select | ❌ | All | Filter by validation status | | Return Individual Results | boolean | ❌ | false | Split into items | | Include Statistics | boolean | ❌ | true | Include batch stats |
Wait for Completion ⭐
Poll until a job completes with automatic result fetching.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | Job ID | string | ✅ | - | The batch job ID | | Max Wait Time | number | ❌ | 300 | Timeout in seconds | | Poll Interval | number | ❌ | 10 | Check frequency in seconds | | Fetch Results | boolean | ❌ | true | Auto-fetch on complete | | Include Statistics | boolean | ❌ | true | Include batch stats |
List Jobs
List all batch jobs for your account.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | Limit | number | ❌ | 20 | Max jobs to return | | Filter Status | select | ❌ | All | Filter by job status |
Cancel Job
Cancel a pending or processing batch job.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | Job ID | string | ✅ | The batch job ID |
Account Resource
Get Usage
Get current API usage statistics.
Returns:
validations_used- Number of validations usedvalidations_limit- Plan limitvalidations_remaining- Remaining validationsusage_percent- Usage percentageis_near_limit- True if usage ≥ 80%is_at_limit- True if usage ≥ 100%
Get Plan
Get subscription plan details and limits.
🔄 Example Workflows
1. Real-Time Signup Validation
[Webhook: Form Submit] → [MailSafePro: Validate Single] → [IF: is_safe_to_send]
├─ true → [Create User]
└─ false → [Return Error]2. Weekly Email List Cleanup
[Schedule: Weekly] → [Get Subscribers from DB] → [MailSafePro: Create Batch Job]
↓
[Update DB: Remove Invalid] ← [MailSafePro: Wait for Completion]3. Lead Scoring with Email Quality
[CRM Trigger: New Lead] → [MailSafePro: Validate Single] → [Code: Calculate Score]
↓
[Update CRM Lead Score]4. Form Validation with Detailed Feedback
[Form Submit] → [MailSafePro: Quick Check] → [Switch: status]
├─ deliverable → [Save Lead]
├─ risky → [Flag for Review]
└─ undeliverable → [Return Error Message]5. Batch Processing with Statistics
[Read CSV] → [MailSafePro: Validate Multiple] → [Split by: risk_level]
├─ low → [Safe List]
├─ medium → [Review Queue]
└─ high → [Reject List]📊 Understanding Results
Risk Levels
| Score | Level | Emoji | Recommended Action | |-------|-------|-------|-------------------| | 0.00 - 0.29 | 🟢 Low | ✅ | Safe to send | | 0.30 - 0.49 | 🟡 Medium-Low | ✓ | Safe with monitoring | | 0.50 - 0.69 | 🟠 Medium | ⚡ | Consider verification | | 0.70 - 1.00 | 🔴 High | ⚠️ | Manual review required |
Status Values
| Status | Description | Action |
|--------|-------------|--------|
| deliverable | Valid email, mailbox exists | ✅ Send |
| undeliverable | Invalid or non-existent | ❌ Remove |
| risky | Valid but has risk factors | ⚠️ Review |
| unknown | Could not fully verify | 🔄 Retry later |
Quality Tiers
| Tier | Score Range | Description | |------|-------------|-------------| | Excellent | > 0.80 | High-quality, engaged email | | Good | 0.61 - 0.80 | Reliable email address | | Fair | 0.41 - 0.60 | Acceptable with some concerns | | Poor | ≤ 0.40 | Low quality, high risk |
⚡ Rate Limits
| Plan | Requests/Min | Sync Batch | Async Batch | |------|--------------|------------|-------------| | FREE | 1 | 10 | 50 | | PREMIUM | 100 | 100 | 1,000 | | ENTERPRISE | 1,000 | 100 | 10,000 |
The node includes automatic retry with exponential backoff for rate limit errors (HTTP 429).
🛠️ Development
# Clone
git clone https://github.com/mailsafepro/n8n-nodes-mailsafepro.git
cd n8n-nodes-mailsafepro
# Install dependencies
npm install
# Development with hot reload
npm run dev
# Run tests
npm test
npm run test:coverage
# Build for production
npm run build
# Lint
npm run lint
npm run lint:fix
# Type check
npm run typecheckProject Structure
n8n-nodes-mailsafepro/
├── credentials/
│ └── MailSafeProApi.credentials.ts
├── nodes/
│ └── MailSafePro/
│ ├── MailSafePro.node.ts
│ └── mailsafepro.svg
├── test/
│ └── MailSafePro.node.test.ts
├── examples/
│ └── workflows/
│ ├── validate-signups.json
│ ├── clean-email-list.json
│ └── lead-scoring.json
├── package.json
├── tsconfig.json
└── README.md🆘 Support
| Resource | Link | |----------|------| | 📚 API Documentation | docs.mailsafepro.com | | 💬 n8n Community | community.n8n.io | | 🐛 Report Issues | GitHub Issues | | 📧 Email Support | [email protected] | | 🌐 Website | mailsafepro.com |
📄 License
MIT License - see LICENSE for details.
📝 Changelog
v1.0.0 (2026-01-04)
Initial Release
- ✨ Email validation with enriched results
- Single email validation with SMTP
- Quick check (syntax/domain only)
- Multiple emails sync validation (up to 100)
- ✨ Batch job management
- Create async jobs (up to 10,000 emails)
- Get job status with progress
- Get paginated results with filters
- Wait for completion with auto-polling
- List all jobs
- Cancel pending jobs
- ✨ Account management
- Get usage statistics
- Get plan details
- ✨ Advanced features
- Automatic retry with exponential backoff
- Batch statistics calculation
- Email deduplication
- Configurable timeouts
- Comprehensive error handling
- ✨ Developer experience
- Full TypeScript support
- 32 unit tests
- Example workflows included
- Detailed documentation
Made with ❤️ by MailSafePro
