How to Send Cold Emails Using mailcow and Smartlead in 2026

How to Send Cold Emails Using mailcow and SmartleadRunning your own email server gives you full control over deliverability, costs, and compliance — especially for cold email outreach. In this guide, I’ll walk through how to integrate a self-hosted mailcow mail server with Smartlead to power professional cold email campaigns.

Why This Setup Matters

Mailcow is a robust self-hosted mail server suite built using Docker. It includes SMTP (Postfix), IMAP (Dovecot), webmail (SOGo), and an intuitive admin interface — offering capabilities on par with commercial providers.
Smartlead is a dedicated cold email platform that handles campaign logic, automation, follow-ups, and tracking.

By combining these two, you’re using your own sending infrastructure, not shared SMTP servers. This enhances control over delivery performance and reputation.

Prerequisites

Before getting started, ensure you have the following:

  • A VPS with at least 4GB RAM, 2 vCPUs, and 40GB SSD storage. I recommend DartNode or isHosting VPS.
  • Root or sudo access to the VPS
  • A registered domain name/s
  • Port 25 open on your VPS (check VPS with Open Port 25)
  • Basic Linux command-line knowledge
  • A Smartlead account (any plan that supports custom SMTP/IMAP integration)

These are essential to complete the setup and avoid common issues during deployment.

The Complete Guide to Setting Up Mailcow with Smartlead

Step 1: Install and Prepare Mailcow

1️⃣ Use a fresh Debian installation (Debian 12 recommended).

2️⃣ Set a hostname that matches your mail domain and configure reverse DNS — this is crucial for deliverability.

3️⃣ Install Docker since Mailcow runs fully inside containers:

curl -sSL https://get.docker.com/ | CHANNEL=stable sh

4️⃣ Install Mailcow using the official install scripts and configure the required environment options.

5️⃣ Ensure timezone and SSL are set correctly — Mailcow can auto-generate certificates once DNS is correct.

I’ve documented the complete Mailcow installation process previously, including all the DNS setup requirements and troubleshooting common issues that arise during the initial setup. Be sure to check that one out.

Step 2: Configure DNS Records

This is where I see most people struggle, and it’s absolutely crucial to get right. For each domain I plan to use with Smartlead, I configure the following DNS records:

Essential DNS Records:

  • MX Record: Points to your Mailcow server’s hostname
  • A Record: Points your mail server hostname to the server IP
  • SPF Record: v=spf1 mx ~all (I start with soft fail and tighten later)
  • DMARC Record: v=DMARC1; p=quarantine; rua=mailto:[email protected]
Record Type Name Content Priority TTL
A mail YourServerIP Auto
A webshanks.org YourServerIP Auto
AAAA mail YourServerIPv6 Auto
AAAA webshanks.org YourServerIPv6 Auto
MX webshanks.org mail.webshanks.org 10 Auto
TXT _dmarc v=DMARC1; p=quarantine; pct=100 Auto
TXT webshanks.org v=spf1 a mx ip4:yourIPv4 ip6:yourIPv6 ~all Auto

Note: IPv6 is optional.

The DKIM configuration requires special attention. After creating a domain in mailcow’s admin panel, generate the DKIM key and add the TXT record exactly as provided. Wait at least 24 hours for DNS propagation before testing – rushing this step causes unnecessary troubleshooting later.

Getting all four DNS authentication records (MX, SPF, DKIM, DMARC) configured correctly is fundamental to email deliverability. Many people skip the DMARC record thinking it’s optional, only to discover their emails landing in spam folders.

If you’re planning to run multiple domains through your Mailcow instance, you’ll need to repeat this DNS configuration process for each domain, but the good news is that I’ve created a tutorial for adding additional domains to Mailcow.

Step 3: Optimize Mailcow for Cold Email

Out of the box, Mailcow is configured for typical business email usage. For cold email campaigns, I make several critical adjustments:

I increased the message size limits in the Mailcow admin panel to accommodate HTML emails with tracking pixels and images. I also adjust the rate-limiting settings, though I’m careful not to disable them entirely – they’re your first line of defense against being flagged as spam.

In the Postfix configuration, I enable verbose logging temporarily during setup. This helps me troubleshoot any delivery issues during the initial testing phase. I access this through the Mailcow admin interface under System > Logs.

One modification I always make is adjusting the connection limits in the Postfix main.cf file. I increase smtp_destination_concurrency_limit and smtp_destination_rate_delay to optimize for the sending patterns typical of cold email campaigns.

Step 4: Create Sending Accounts

Inside mailcow, don’t use admin accounts for campaigns — create individual mailboxes for each sending identity.

Recommended setup:

Make sure IMAP is enabled, as Smartlead needs it to track replies and status.

Step 5: Connect to Smartlead

Now comes the exciting part – connecting everything together.

In your Smartlead dashboard:

  1. Go to Email Accounts and add a new connection

  2. Choose Custom SMTP/IMAP

SMTP Settings

  • Server: your Mailcow hostname

  • Port: 587 (STARTTLS)

  • Username & Password: from the Mailcow account

  • Encryption: STARTTLS

IMAP Settings

  • Server: same as SMTP

  • Port: 993

  • Encryption: SSL/TLS

Always run the built-in test to ensure Smartlead can both send and receive using your Mailcow server.

Step 6: Warm Up Your Domains

Cold email must be warm to appear trustworthy. Gradually increase sending volumes:

My Proven Warming Schedule:

Week Daily Volume Focus
Week 1 10-20 emails Internal emails between your own accounts
Week 2 20-40 emails Emails to engaged subscribers or warm contacts
Week 3 40-80 emails Small batches to carefully researched prospects
Week 4+ 80-200+ emails Full campaign deployment with monitoring

Monitor bounce rates and complaints. Too fast growth can damage domain reputation.

Step 7: Monitor & Improve

Consistent monitoring ensures long-term success:

  • Check Mailcow mail queues and logs daily
  • Track open, reply, and complaint rates in Smartlead
  • Use reputation tools (e.g., MXToolbox, Sender Score) to monitor domain health

Aim to keep complaints below 0.1% for best inbox placement.

Watch on YouTube

Common Mistakes to Avoid

  • Skipping warming — leads to delivery problems

  • Missing SPF/DKIM/DMARC — increases spam likelihood

  • Ignoring bounce handling — ruins sender reputation

  • Sending large volumes too quickly — triggers ISP throttling

Advanced Tips for Deliverability

  • Use multiple domains to spread sending load

  • Maintain clean, validated lists

  • Include proper unsubscribe headers to reduce complaints

  • Fine-tune Postfix settings for different providers (e.g., Outlook, Gmail)

Compliance & Scaling

Always follow regulations like CAN-SPAM — include clear identification and unsubscribe options. Mailcow + Smartlead gives you compliance tools and flexibility for scaling up multiple domains or even multiple server instances as you grow.

Final Thoughts

Connecting Mailcow with Smartlead isn’t a quick weekend task — but when done methodically, it delivers enterprise-grade cold email capability at a fraction of the cost.

Focus on strong DNS setup, gradual warming, ongoing monitoring, and list quality to maximize your campaign performance.

If you want me to setup mailcow and Smartlead for you, contact me via Telegram or email.

Leave a Reply

Your email address will not be published. Required fields are marked *

Are you human? Please solve:Captcha