Deliverability

Why Your Flashy HTML Templates Are Killing Your Open Rates

If you’re blasting a “beautiful” HTML newsletter and wondering why replies are dead and your open rates are sliding — it’s probably not your copy. It’s your format.

Inboxes (and spam filters) don’t reward design. They reward trust. And a heavy HTML template screams “marketing automation” — which is exactly what Gmail/Outlook try to classify away from the primary inbox.

TL;DR

  • For outreach and “cold-ish” bulk email, HTML-heavy templates can hurt Inbox Placement.
  • Plain-text-ish emails look like 1:1 messages, so they get more replies and fewer complaints.
  • Scale safely with SMTP Rotation (multiple Google Workspace/Microsoft 365 accounts or SES/Mailjet relays).
  • Don’t nuke trust: enforce Global Opt-out (ListMailer’s Global Blacklist) across imports and lists.
  • Use Payload/Variables beyond to avoid “blast” signals.

The real goal isn’t open rate. It’s trust.

Deliverability people care about one thing: Inbox Placement. Not “sent”, not “delivered”, not “bounced” — where the email actually lands.

A classic failure mode is spending time on a gorgeous template that:

  • looks like a mass campaign,
  • has a big image-to-text ratio,
  • loads tracking pixels + link wrappers,
  • and triggers “Promotions / bulk sender” heuristics.

The no-bullshit version: if you want replies, write like a human and send like a human. Plain-text-ish is the fastest way to get there.

What “plain-text-ish” actually means (it’s not ugly)

I’m not saying you need to send raw text-only MIME with zero formatting. “Plain-text-ish” means:

  • Short paragraphs
  • One clear CTA (or none)
  • No hero image
  • No multiple columns
  • No “designed newsletter” vibe

This is especially true for:

  • bulk email outreach
  • mail merge for Outlook style campaigns
  • lead follow-ups where you want replies

“Sent via” tags: trust-killers you don’t notice anymore

A lot of mail merge tools route your email through their own infrastructure or add “sent via” branding. Sometimes it’s visible in the body, sometimes it’s in headers. Either way, it reduces trust.

ListMailer avoids this by sending through your accounts and relays:

  • Google Workspace (Gmail SMTP)
  • Microsoft 365 (Outlook SMTP)
  • Pay-as-you-go relays like Amazon SES or Mailjet

Net result: recipients see your domain and your sending identity. No “what tool is this?” friction.

Setup: SMTP configs that don’t get you blocked

Here are example SMTP settings you can use in ListMailer. (Exact values depend on your provider and region.)

Google Workspace (Gmail SMTP)

SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
ENCRYPTION=STARTTLS
SMTP_USERNAME=you@yourdomain.com
SMTP_PASSWORD=your_app_password

Microsoft 365 (Outlook SMTP)

SMTP_HOST=smtp.office365.com
SMTP_PORT=587
ENCRYPTION=STARTTLS
SMTP_USERNAME=you@yourdomain.com
SMTP_PASSWORD=your_app_password

Amazon SES (SMTP interface)

SMTP_HOST=email-smtp.eu-west-1.amazonaws.com
SMTP_PORT=587
ENCRYPTION=STARTTLS
SMTP_USERNAME=AKIA...YOUR_SMTP_USER
SMTP_PASSWORD=...YOUR_SMTP_PASSWORD

Warm-up note: new accounts and new domains should ramp. Even with SES. Account age and gradual volume increases matter.

Scale without triggering limits: SMTP Rotation

Every provider has caps. Google Workspace and Microsoft 365 have daily limits. SES/Mailjet have throughput and reputation constraints.

If you push all volume through one sender, you create two problems:

  • You hit provider limits and get throttled.
  • You concentrate reputation risk on one account/domain path.

ListMailer’s SMTP Rotation distributes sends across multiple SMTP connections. Practical examples:

  • Rotate 3x Google Workspace inboxes for outreach.
  • Mix Microsoft 365 + SES for a “human + relay” blend.
  • Use Mailjet/SES as pay-as-you-go backpressure when you outgrow mailbox limits.

Personalization that actually moves the needle (Payload/Variables)

If your “personalization” is only , you’re not personalizing. You’re just mail-merging.

With ListMailer, your CSV headers become Payload/Variables. That lets you reference real context.

Example CSV

email,first_name,company,role,trigger,stack
jane@acme.com,Jane,Acme,Ops Lead,invoice backlog,n8n
sam@north.io,Sam,North,Growth,"new landing page",Make

Example email body (plain-text-ish)

Subject: quick question about 

Hey ,

Saw you’re the  at  — noticed .
If you’re using , I can share a simple setup to keep outreach deliverable at scale.

Would it be stupid to send a 3-line example?

— Henrik

This format tends to get fewer spam complaints (and more replies) because it reads like a real message. That’s how you bypass spam filters in the only way that matters: by not looking like spam.

Don’t destroy deliverability with “silent opt-out failures”

You can do everything “right” with plain-text and rotation… and still tank deliverability by re-mailing people who already opted out.

ListMailer solves that with a persistent Global Opt-out layer (the Global Blacklist) that applies across lists and imports. If someone unsubscribes once, they stay unsubscribed — even when you upload a “fresh” CSV next month.

Conclusion

HTML templates aren’t “bad”. They’re just the wrong default for outreach. If you want inbox placement, trust, and replies — keep it plain-text-ish, rotate SMTPs to stay under caps, and enforce global opt-out.

Want higher inbox placement without paying per-contact?

Import a CSV, map payload variables, connect Google Workspace/Microsoft 365 or SES/Mailjet, enable SMTP rotation, and let ListMailer enforce the Global Blacklist automatically.

Start for Free