Skip Navigation

Blog

  • What Cold Outreach Has to Get Right Before Volume

    What Cold Outreach Has to Get Right Before Volume

    Cold outreach is not a volume problem first. It is a permission and reputation problem that happens to use email. If the first message would surprise the recipient, mailbox providers will eventually treat the rest of the sequence the same way.

    What actually belongs in a first touch

    Say who you are, why this person, and what you want in a few sentences. A meeting link with no context is a pitch, not a conversation. Reference a real detail: a role change, a product launch, a constraint you can help with. If you cannot name that detail, you are not ready to send.

    Infrastructure still matters

    • Authenticate the domain you send from. Do not borrow a shared pool that already has a complaint history.
    • Warm new IPs. Do not dump a scraped list on day one.
    • Keep the From name stable. A new identity every week looks like a compromised account.

    Stop when they say no

    A sequence should have an obvious out and a hard cap. Automating a third bump after silence is optional. Automating past an unsubscribe or a clear rejection is how you earn blocks. Cold outreach that lands is specific, short, and easy to refuse.

  • Email APIs vs SMTP: Which Sending Path to Use

    Email APIs vs SMTP: Which Sending Path to Use

    SMTP is a conversation with a mail server. An email API is an HTTP request that your application makes, after which a provider talks SMTP for you. Both can deliver the same message. They fail in different places.

    When SMTP is enough

    A small app, a known recipient list, and a server you already run can send through a local or dedicated MTA. You own retries, bounce handling, and IP reputation. That is power and work. Hosting panels that expose SMTP are this path.

    When an API is the better interface

    • You need templates, click tracking, or inbound parse without running extra daemons.
    • Several environments (app servers, workers, serverless) should send without each one holding SMTP credentials and connection pools.
    • You want webhooks for bounces and complaints instead of parsing DSN mail.

    What does not change

    APIs do not skip SPF, DKIM, or list hygiene. They wrap the same internet mail path. Choose the interface that matches how you build software, then run the same deliverability discipline you would on a raw SMTP socket.

  • Mastering Spam Traps: Avoid the Honeypots

    Mastering Spam Traps: Avoid the Honeypots

    A spam trap is not a grouchy subscriber. It is an address monitored by a blocklist or mailbox provider. Mail to that address is evidence you do not have permission, or that you ignore hygiene.

    Pristine vs recycled traps

    Pristine traps were never used by a human; they exist only to catch list appends and scrapes. Recycled traps used to belong to someone and were later converted after a long quiet period. The first type punishes purchased and scraped data. The second punishes mailing ancient files you never sunset.

    How senders step on them

    • Buying or appending emails.
    • Scraping contact pages and GitHub profiles.
    • Never removing hard bounces.
    • Reactivating a five-year-old export “just this once”.

    How to stay off them

    Collect addresses yourself, confirm them, and remove persistent failures. Do not send to the full historical database because a new ESP made import easy. If a blocklist listing names trap hits, stop the campaign, audit the source of those recipients, and only resume on recently confirmed mail.

  • The Metrics That Matter Most When Analyzing Deliverability

    The Metrics That Matter Most When Analyzing Deliverability

    Deliverability reports are full of numbers that look important and do not change what you should do on Monday. The useful set is small: acceptance, bounces, complaints, unknown users, and whether the people who got the mail actually did something.

    Acceptance vs inbox

    Accepted by the MX is not the same as landing in the primary inbox. Seed tests and panel data estimate placement. Your SMTP logs only prove the receiving server took the message. Use both. If acceptance is high and seeds sit in spam, the problem is reputation or content, not routing.

    The rates that get you blocked

    • Hard bounces / unknown users: keep well under 2%, ideally far lower on a mature list.
    • Spam complaints: stay comfortably under 0.1% of delivered mail. A few tenths of a percent is an emergency.
    • Unsubscribe and spam-folder clicks on Gmail Postmaster: treat spikes as product problems, not a template tweak.

    Engagement is the long game

    Mailbox providers watch whether recipients open, click, reply, move to inbox, or delete unread. A list that never engages will eventually be filtered even if authentication is perfect. Segment by recency. Stop mailing people who have ignored you for months.

    Infrastructure signals

    Track deferrals (4xx), blocklists, SPF/DKIM/DMARC pass rates, and TLS. A sudden 421 from Microsoft with a clean list often means you ramped volume or changed IPs too fast. Pair metrics with a timeline of what you changed: IP, domain, template, or audience.

  • How to Keep Campaigns Out of Gmail’s Promotions Tab

    How to Keep Campaigns Out of Gmail’s Promotions Tab

    There is no official “primary inbox” switch. Gmail’s classifiers look at bulk headers, similar copies to many people, image-to-text ratio, unsubscribe language, and how users historically treat mail from your domain.

    What pushes you into Promotions

    • Single large hero images and sparse text.
    • Discount language, countdown urgency, and multiple tracking links.
    • List-Unsubscribe plus campaign-style HTML sent to thousands at once.
    • A From name that is a brand, not a person, especially on mixed-use domains.

    What actually helps

    Send mail people reply to. Conversational text, a real signature, and a domain they already trust for one-to-one mail all help. Do not pretend a newsletter is a personal note if the body is still a three-column promo. Users train Gmail when they drag you to Promotions; they also train it when they reply.

    Split transactional and marketing

    Receipts, password resets, and shipping mail should come from a dedicated subdomain with a different template. Mixing abandoned-cart blasts onto the same domain as password resets teaches Gmail that everything from you is marketing. Keep authentication aligned on each subdomain.

  • List Hygiene: Removing Risk Before It Becomes a Block

    List Hygiene: Removing Risk Before It Becomes a Block

    Every send is a vote on your reputation. Mailing addresses that never existed, never opted in, or have not engaged in a year is how good domains end up on blocklists.

    Remove these first

    • Hard bounces and known invalid syntax.
    • Role accounts (info@, sales@) unless you have a documented B2B reason and permission.
    • Complaints and legal suppression, immediately.
    • Unengaged subscribers past your cutoff — often 90 to 180 days depending on frequency.

    Confirm before you blast

    Double opt-in is still the cheapest insurance for consumer lists. For imported B2B lists, require a paper trail: who captured the address, when, and for what. Purchased lists are not a gray area; they are how you inherit spam traps.

    Sunset instead of sudden silence

    A short win-back sequence with an obvious preference center is fair. If they still do not engage, stop. Continuing to mail them to “keep the list large” is how complaint rates climb while revenue per send falls.

  • A Practical Approach to Warming Up Dedicated IPs

    A Practical Approach to Warming Up Dedicated IPs

    A dedicated IP is only an advantage if mailbox providers already trust it. A brand-new address has no reputation. Treat the first two to four weeks as a controlled introduction, not a launch party.

    Why warmup exists

    Gmail, Microsoft, and Yahoo watch volume, complaint rate, unknown-user rate, and whether engaged humans open the mail. A cold IP that suddenly sends tens of thousands of messages looks like a compromised host. Warmup is how you prove you are a real sender before you ask for inbox placement at scale.

    A conservative schedule

    • Days 1–3: a few hundred messages per day to your most engaged subscribers only.
    • Days 4–7: double volume only if bounce rate stays under 2% and complaints stay well under 0.1%.
    • Week 2: add slightly older but still opted-in names. Do not dump the full list.
    • Week 3–4: step toward production volume. Pause and investigate if complaints or blocks appear.

    Who should receive warmup mail

    Send to people who recently opened or clicked. Skip role accounts, purchased lists, and addresses that have not engaged in months. Those cohorts create spam-trap and complaint risk exactly when the IP is most fragile.

    Authentication and infrastructure

    SPF, DKIM, and DMARC should already pass before the first warmup message. Align the From domain with DKIM. Keep a consistent HELO/EHLO name. If you also send from a shared pool, do not mix the new dedicated IP into the same campaign until warmup is done.

    When to stop or slow down

    If you see 421/450 deferrals, junk-folder placement on seed tests, or a spike in 550 user-unknown, cut volume in half for 48 hours and clean the list. Warmup is not a substitute for list hygiene. It only works if the mail itself is wanted.

  • A Complete Beginner’s Guide to A/B Testing Subject Lines

    A Complete Beginner’s Guide to A/B Testing Subject Lines

    A subject line test is only useful if you can explain what won and why you will reuse it. Testing a witty line against a completely different offer, preview text, and From name at the same time teaches you nothing.

    Test one thing

    Hold the body, From name, send time, and audience constant. Change only the subject (or only the preview text). Common splits: curiosity vs. clarity, question vs. statement, specific number vs. vague benefit, and branded vs. personal From names on a separate test.

    Sample size and timing

    Do not call a winner after 40 opens. For most lists you need enough unique opens that a few random clicks cannot flip the result. Send both variants into the same window so a news cycle does not favor one side. Leave a holdout if you also care about unsubscribes, not just opens.

    Opens are a noisy metric

    Apple Mail Privacy Protection and image-blocking inflate or hide opens. Pair the test with clicks and replies when the mail asks for a click. If the goal is a reply, measure replies. Optimizing only for opens trains you to write clickbait that tanks trust.

    What to do with a winner

    Roll the winner to the remainder of the send, log the hypothesis, and retire the loser. Do not keep running the same curiosity-gap trick until the list learns to ignore you. Rotate patterns the way you rotate offers.

  • Why Plain Text Emails Often Perform Better Than HTML

    Why Plain Text Emails Often Perform Better Than HTML

    HTML templates are fine for newsletters with a real layout. They are a liability when you are asking for a reply, a meeting, or a support resolution. Many of those messages win as multipart mail whose visible body is mostly plain text.

    What plain text actually means

    Send a text/plain part. You can still attach a simple HTML alternative. The point is that the readable message does not depend on tables, web fonts, or a 200-kilobyte hero image. Links should be real URLs a human can copy.

    Why engagement often improves

    • It resembles one-to-one mail, so it is less likely to be pre-judged as a campaign.
    • It degrades gracefully in locked-down corporate clients.
    • It avoids broken images and tracking pixels that some filters score negatively.
    • It forces clearer writing because you cannot hide behind a button.

    When HTML still wins

    Product launches, visual lookbooks, and receipt designs with tables of line items still belong in HTML. Even then, keep a sensible plain-text alternative. Accessibility and some backup clients will use it.

    A practical hybrid

    Write the text version first. If the HTML cannot be generated from that copy without adding fluff, the design is doing too much. For transactional mail, prefer simple HTML plus a complete text part over a pixel-perfect template that fails when CSS is stripped.

  • Scaling SMTP Without Burning Your Reputation

    Scaling SMTP Without Burning Your Reputation

    Raising the concurrent connection limit on your MTA does not scale email. Mailbox providers apply per-IP and per-domain rate limits. If you outrun them you collect deferrals, then blocks.

    Separate the queues

    Transactional mail should not wait behind a newsletter. Use different queues, and often different IPs or subdomains, so a slow campaign cannot delay password resets. Retry 4xx with backoff. Do not hammer a 421 with the same burst.

    Add IPs the slow way

    New IPs need warmup. Spreading volume across ten cold addresses is worse than one warm IP. Watch per-provider acceptance. Microsoft and Gmail will not ramp on the same curve.

    Application-level brakes

    Cap new-user mail, throttle on bounce spikes, and kill a campaign if complaint webhooks fire. Scaling SMTP is an operations problem: dashboards, on-call, and the willingness to stop sending.