Back to Nodes

MailSafePro

Last updated Feb 16, 2026

n8n community node for MailSafePro Email Validation API - Enterprise email validation with risk scoring, SMTP verification, batch processing, and deliverability analysis

18 Weekly Downloads
74 Monthly Downloads

Included Nodes

MailSafePro

Description

n8n-nodes-mailsafepro

!n8n
!License
!Version
!Node
!TypeScript
!Tests

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 |
| issafeto_send | boolean | Safe to send (valid + low risk) |
| ishighrisk | 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)

1. Go to Settings → Community Nodes
2. Click Install
3. Enter n8n-nodes-mailsafepro
4. Click Install

Manual Installation

cd ~/.n8n
npm install n8n-nodes-mailsafepro

Docker

docker-compose.yml

services: n8n: image: n8nio/n8n environment: - N8NCUSTOMEXTENSIONS=/home/node/.n8n/custom volumes: - ./custom:/home/node/.n8n/custom

Then install the package in the custom directory.

—

☁️ n8n Cloud (No Community Nodes)

If you’re using n8n Cloud, you can still use MailSafePro with the built-in HTTP Request node. Follow these steps:

1. Get Your API Key

1. Sign up at mailsafepro.com
2. Go to your Dashboard → API Keys
3. Copy your Default API Key

2. Add Credentials

1. Go to Credentials → New
2. Select Header Auth
3. Name: MailSafePro API
4. Add header:
– Name: X-API-Key
– Value: Your MailSafePro API Key (e.g., msplivexxxxxxxxxxxx)
5. Click Save

3. Use in Workflows

#### Validate Single Email

1. Add an HTTP Request node
2. Configure:
– Method: POST
– URL: https://api.mailsafepro.es/api/v1/validate/email
– Authentication: Header Auth → Select MailSafePro API
– Body Content Type: JSON
– Body: { "email": "{{ $json.email }}" }
3. Connect to your data source

#### Validate Multiple Emails (Batch)

1. Add an HTTP Request node
2. Configure:
– Method: POST
– URL: https://api.mailsafepro.es/api/v1/validate/batch/sync
– Authentication: Header Auth → Select MailSafePro API
– Body Content Type: JSON
– Body: { "emails": "{{ $json.emails }}" }
– (emails should be a comma-separated string)

#### Quick Check (Fast)

1. Add an HTTP Request node
2. Configure:
– Method: POST
– URL: https://api.mailsafepro.es/api/v1/validate/quick
– Authentication: Header Auth → Select MailSafePro API
– Body Content Type: JSON
– Body: { "email": "{{ $json.email }}" }

4. Import Example Workflows

We provide ready-to-use workflow templates for n8n Cloud:

| Workflow | Description | File |
|———-|————-|——|
| Validate Signups | Validate new user signups in real-time | n8n-cloud-validate-signups.json |
| Batch Cleanup | Clean your email list weekly | n8n-cloud-clean-email-list.json |
| Lead Scoring | Score leads based on email quality | n8n-cloud-lead-scoring.json |

To import:
1. In n8n, go to Workflows → Import from File
2. Select the JSON file
3. Update the credentials reference if needed
4. Configure your webhook URLs (replace https://your-api.com/... with your actual endpoints)

Example: Form Submission Validation

[Webhook: Form] → [HTTP Request: Validate] → [IF: issafeto_send]
                                                   ├─ true → [Create Row]
                                                   └─ false → [Return Error]

—

🔑 Configuration

Get Your API Key

1. Sign up at mailsafepro.com
2. Go to your Dashboard
3. Copy your API Key

Add Credentials in n8n

1. Go to Credentials → New
2. Search for MailSafePro
3. Enter your API Key
4. (Optional) Change Base URL for self-hosted instances
5. 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 |

Example Output

{
  "email": "user@gmail.com",
  "valid": true,
  "status": "deliverable",
  "risk_score": 0.15,
  "quality_score": 0.89,
  "risk_level": "low",
  "quality_tier": "excellent",
  "issafeto_send": true,
  "ishighrisk": 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 progresspercent, iscompleted, isprocessing, isfailed

#### 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 used
  • validations_limit – Plan limit
  • validations_remaining – Remaining validations
  • usage_percent – Usage percentage
  • isnearlimit – True if usage ≥ 80%
  • isatlimit – 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: issafeto_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 typecheck

    Project 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 | support@mailsafepro.com |
    | 🌐 Website | mailsafepro.com |

    —

    🚀 Submit to n8n Integrations

    Your community node is already published to npm. To get it listed in the official n8n integrations directory:

    Option 1: Get Verified for n8n Cloud (Recommended)

    1. Ensure your node follows n8n standards:
    – Package name must start with n8n-nodes- ✓ (already correct)
    – Include proper documentation ✓
    – Add keywords to package.json: n8n-community-node-package, n8n

    2. Submit for review:
    – Go to n8n Community Forum
    – Create a new topic in “Help me Build my Workflow” category
    – Title: “Request to submit a new n8n community node for review”
    – Include: package name, npm link, brief description, and GitHub repository

    3. Wait for verification (can take weeks)

    Option 2: List on n8n Workflow Templates

    1. Create workflows using your node
    2. Export them as JSON
    3. Submit to n8n Workflow Templates

    —

    📄 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