v1.4.4 — refreshed brand and a polished activation flow. Same software, sharper edges. → Download the latest build
Engineered for Maximum Deliverability
EMS Mailer is a professional desktop email broadcasting application built for high-volume campaigns. Runs on Windows and Mac, requires no technical setup, and is designed to get your emails into inboxes — not spam folders.
- Custom From Address — Send from any address, independent of your SMTP username
- Reply-To Routing — Direct all replies to a separate inbox
- X-Mailer Spoofing — Disguise the sending client (Outlook, Apple Mail, etc.)
- Spintax Engine —
{Unique|Fresh|Custom}content randomization on every send - EMS Placeholders — Per-recipient personalization in subject, HTML, and text
- Domain Targeting — Filter your list to only Gmail, Yahoo, Hotmail, or any domain
- Auto SMTP Rotation — Set a send limit per SMTP; burnt credentials swap instantly
- SMTP Switch Cooldown — Delay between SMTP switches to avoid burst detection
- SMTP Health Checker — Test all SMTPs and remove bad ones in one click
- Retry Failed Sends — One click re-queues every failed email from the last run
- Skip List — Built-in suppression list to honor unsubscribes
- HTML + Image + Text — Rich HTML, image-only blasts, or plain text
- Attachments — Attach PDF, DOCX, ZIP to every email
- Test Send — Preview your exact email in your inbox before launching
- Save & Load Campaigns — Save your full campaign config and reload in 2 clicks
- Multi-threaded Sending — Parallel workers for high-speed delivery
- Custom Delay Control — Set min/max delay between sends
- Live Dashboard — Real-time sent, failed, success rate, speed, and ETA
- Export Logs — Save your full send log to a text file
- Light & Dark Mode — Clean UI, both themes supported
| Windows | Mac | |
|---|---|---|
| OS | Windows 10 / 11 (64-bit) | macOS 11+ |
| RAM | 4 GB minimum | 4 GB minimum |
| Disk | 200 MB | 200 MB |
| Internet | Required | Required |
Go to the Releases page:
| Platform | File |
|---|---|
| Windows | EMS-Mailer-Setup.exe |
| Mac (Intel) | EMS-Mailer-Mac-x64.dmg |
| Mac (Apple Silicon M1/M2/M3) | EMS-Mailer-Mac-arm64.dmg |
EMS Mailer requires a valid license key tied to your machine.
On first launch, copy your HWID from the activation screen and send it to:
👉 Telegram: @retiredems 🤖 Bot: @emsmailerbot
One email address per line:
john@gmail.com
jane@yahoo.com
admin@company.org
The app automatically skips invalid and duplicate emails and shows you a count before sending.
Pipe-separated (|) or comma-separated (,). Supports 4 or 5 fields.
Use | if your password contains a comma.
4-field format (From address = SMTP username):
host|port|username|password
mail.domain.com|587|smtpuser|smtppassword
mail.domain.com|465|smtpuser|smtppassword
5-field format (custom From address — recommended):
host|port|username|password|from_email
mail.domain.com|587|smtpuser|smtppassword|noreply@brand.com
mail.domain.com|2525|smtpuser|smtppassword|noreply@brand.com
Use the 5-field format to authenticate with one username while showing a different, legitimate email address to recipients. This improves inbox delivery.
Ports:
465— SSL (secure)587— TLS (standard)2525— Alternative TLS
Multiple SMTPs can be listed. The app automatically load-balances across them and marks any SMTP dead after 3 consecutive failures.
One name per line. The app rotates through these randomly:
Lauren Harris
Victoria Lee
James Mitchell
David Thompson
One subject per line. The app picks randomly for each email. Supports EMS placeholders:
Your account update
Action required: verify your details
Important notice for EMSUSER
A standard .html file. Supports EMS placeholders.
A plain .txt file used as the email body. Supports EMS placeholders.
A .png, .jpg, .jpeg, .gif, or .webp file. Embedded directly in the email.
Add an Image Link to make it clickable.
One email per line. These addresses are suppressed and never sent to.
Use inside HTML templates, text body files, and subject lines. Replaced automatically per recipient before sending.
| Placeholder | Replaced With | Example |
|---|---|---|
EMSEMAIL |
Full recipient email | john@gmail.com |
EMSUSER |
Part before @ | john |
EMSDOMAIN |
Full domain | gmail.com |
EMSDOM |
Domain without extension | gmail |
EMSRND |
Random 10-char hex string | a3f92b1c04 |
EMSRNDLONG |
Random 40-char hex string | 3f9a2b1c04d8e7... |
Example HTML:
<p>Hello EMSUSER,</p>
<p>We noticed activity on your EMSDOMAIN account.</p>
<p>Your reference ID: EMSRND</p>Example subject:
Important update for EMSUSER
Wrap variations in {curly|braces} anywhere in your subject or HTML template.
The app picks one option randomly per email:
{Hello|Hi|Hey} EMSUSER,
Your {account|profile|details} {needs|requires} attention.
Every email comes out different — reduces spam filter pattern matching.
| Button | Action |
|---|---|
| Start | Begin sending using all loaded files |
| Pause | Pause mid-run (resumes from where it stopped) |
| Resume | Continue a paused run |
| Stop | Stop the current run completely |
| Retry Failed | Re-queue all failed emails from the last run |
Threads — Emails sent simultaneously. Higher = faster, but may trigger rate limits. Keep between 1–10 for most setups.
Status badge — IDLE / RUNNING / PAUSED / STOPPED / FINISHED / ABORTED / FAILED
Progress bar — Appears when a run starts and shows completion percentage.
Live Activity log — Real-time results. Filter buttons: All / Success / Failed.
| Option | What It Does |
|---|---|
| Allow invalid TLS | Enable for self-signed or broken SMTP certificates |
| Min / Max Delay (s) | Custom delay between sends. Leave blank for auto by domain |
| Max Sends / SMTP | Rotate to next SMTP after this many successful sends |
| SMTP Cooldown (s) | Wait N seconds when switching to a different SMTP |
| Domain Filter | Only send to listed domains (e.g. gmail.com, yahoo.com) |
| Priority | Sets X-Priority header — Normal / High / Low |
| X-Mailer | Spoofs the sending client shown in email headers |
| From Email | Overrides SMTP username as the sender address |
| Reply-To | Replies from recipients go to this address |
| Field | What To Load |
|---|---|
| Mail List | Your recipient .txt file |
| SMTPs | Your SMTP credentials file |
| Sender Names | Your rotating sender names file |
| Subjects | Your rotating subjects file |
| Text Body | Optional plain text body file |
| HTML Letters | One or more .html template files |
| Images | One or more image files |
| Attachments | PDF, DOCX, ZIP files to attach to every email |
SMTP Health tools:
- Test SMTPs — Verifies every SMTP and reports working, failed auth, timed out, etc.
- Remove Bad SMTPs — Rewrites your SMTP file keeping only working ones.
A
.bakbackup is created automatically before any changes.
- The app reads all files at the time you click Start
- Recipients are deduplicated and validated automatically
- SMTPs are pooled and load-balanced — least-used SMTP is preferred
- An SMTP is marked dead after 3 consecutive send failures
- A successful send resets an SMTP's failure count
- Sender names and subjects rotate randomly per email
- EMS placeholders are replaced with the recipient's actual data
- Spintax is resolved — every email gets a unique variation
- A plain-text version is auto-generated alongside HTML for better deliverability
- Delays between sends are applied automatically based on recipient domain
- Use the 5-field SMTP format with a real From address on your sending domain
- Set up SPF, DKIM, and DMARC DNS records — biggest single deliverability factor
- Avoid spam trigger words in subjects (Free, Urgent, Payout, Disbursement)
- Use HTML templates with real text — image-only emails score worse
- Warm up new IPs — start low volume and increase gradually
- Check your IP reputation on Spamhaus, MXToolbox, and Barracuda before sending
| Message | Meaning |
|---|---|
⚡ EMS Mailer Started |
Run has begun |
📬 Recipients → N |
Valid unique recipients loaded |
📨 SMTPs → N |
Valid SMTPs loaded |
🔗 Link → url |
Clickable link attached to image |
✅ SUCCESS → email |
Email delivered successfully |
🚫 BOUNCE → email |
Hard bounce — invalid/non-existent address |
⚠️ SMTP FAILED (N/3) → user |
Temporary failure, will retry |
❌ SMTP DEAD (3 failures) → user |
SMTP removed from this run |
🔄 SMTP ROTATED → user |
Max sends reached, rotating to next SMTP |
❌ ALL SMTPs DEAD |
No usable SMTPs left, run aborted |
🔁 FAILED_LIST → path |
Failed emails saved — click Retry Failed to re-queue |
🛑 EMS Mailer Stopped |
Manually stopped |
⚠️ EMS Mailer Aborted |
All SMTPs died, ended early |
🎉 EMS Mailer Finished |
All recipients processed |
👉 Telegram: @retiredems 🤖 Bot: @emsmailerbot