npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

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

Readme

n8n-nodes-mailsafepro

n8n License Version Node TypeScript Tests

Enterprise-grade email validation node for n8n workflow automation

FeaturesInstallationOperationsExamplesAPI ReferenceSupport


🎯 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)

  1. Go to SettingsCommunity 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:
      - N8N_CUSTOM_EXTENSIONS=/home/node/.n8n/custom
    volumes:
      - ./custom:/home/node/.n8n/custom

Then install the package in the custom directory.


🔑 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 CredentialsNew
  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 |

{
  "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 used
  • validations_limit - Plan limit
  • validations_remaining - Remaining validations
  • usage_percent - Usage percentage
  • is_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 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 | [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