Felix Okoro

  • Cold Email Explained and How to Do It the Right Way

    Cold Email Explained and How to Do It the Right Way

    A cold email is a one-to-one message you send to someone who has never heard from you, with a specific reason to start a conversation. Done well, it books meetings and opens doors. Done badly, it burns your domain and lands every future email in spam. This guide covers the writing, the setup behind it, and 12 templates you can adapt today.

    Best forB2B sales, partnerships, PR
    Safe pace30-50 emails per inbox daily
    Key recordsSPF, DKIM, DMARC
    Top templateThe trigger-based opener

    What Is Cold Email? The Meaning in Plain Terms

    Cold email is unsolicited outreach to a person you have no existing relationship with. “Cold” means the recipient did not sign up, did not request contact and probably does not know your name.

    Cold emailing is the practice of doing this deliberately and repeatedly, usually for business. Salespeople use it to book demos. Founders use it to reach investors. Freelancers use it to find clients. PR teams use it to pitch journalists and media outlets.

    A real cold email is narrow. It goes to one person, or a small, carefully chosen list. It references something specific about them. It asks for one small action.

    That is what separates it from spam. Spam is untargeted, often deceptive, and sent at volume to people who never had a reason to hear from you.

    Cold email vs. email marketing vs. spam

    People mix these up all the time. The difference matters because each one runs under different rules and on different tools.

    Cold email Email marketing Spam
    Recipient opted in? No Yes No
    Typical volume Dozens to hundreds per day Thousands per send As many as possible
    Personalisation Written for one person or segment Segment-level None or fake
    Format Plain text, short Designed, often with images Varies
    Sent from Real inbox (Google Workspace, Microsoft 365) An ESP such as Mailchimp or Klaviyo Anywhere
    Goal Start a conversation Nurture and sell to subscribers Trick or flood

    Email marketing works with people who already gave you permission. Cold email is about earning the first reply. If you want the full picture of permission-based campaigns, our guide to what email marketing is and how it actually works covers that side.

    One practical consequence: do not send cold email through your email service provider. Mainstream ESPs require opt-in lists in their acceptable use policies and will suspend accounts that send to people who never subscribed. Cold outreach goes out from real mailboxes, either by hand or through a cold email platform that connects to those mailboxes.

    Is Cold Emailing Legal?

    In most markets, yes, for B2B outreach, provided you follow the rules. The rules differ a lot by country, and “B2B” does not give you a free pass everywhere.

    Region Law Consent needed for B2B cold email? Key obligations Maximum penalty
    United States CAN-SPAM Act No (opt-out model) Honest headers and subject, physical postal address, working opt-out, honour opt-outs within 10 business days $53,088 per email (2025 FTC adjustment)
    European Union GDPR + national ePrivacy laws Varies by country; many allow B2B under legitimate interest Lawful basis, tell people where you got their data, honour objections €20 million or 4% of global annual turnover
    Germany UWG §7 + GDPR Generally yes, prior consent Stricter than most EU states for email advertising Varies; injunctions and fines
    United Kingdom UK GDPR + PECR No for corporate addresses; yes for sole traders and some partnerships Identify yourself, offer opt-out, lawful basis Enforced by the ICO
    Canada CASL Yes (express or implied) Implied consent can apply if the address is conspicuously published and your message relates to their role Up to CAD $10 million per violation

    Two points get missed most often.

    GDPR Article 14 applies to you. If you collected someone’s details from a source other than them, such as a company website or LinkedIn, you have to tell them where you got the data and how to object. A single line in the email or a link to your privacy notice handles this.

    CAN-SPAM covers B2B email. There is no business exemption. Every commercial message needs a valid postal address and a clear way to opt out.

    Deliverability risk

    Bought or scraped lists break the law in many regions and wreck your sender reputation everywhere. Build your list from research, not from a CSV you paid for.

    This is not legal advice. If you sell into Germany, Canada or a regulated industry, get a lawyer to review your approach once.

    Set Up Your Sending Before You Write a Word

    Cold Email vs Email Marketing vs Spam Comparison Table

    Most cold email fails at the infrastructure level. The copy never gets a chance because the message lands in spam or bounces. Fix this first.

    Use a separate sending domain

    Do not send cold outreach from your main company domain. If your cold campaigns pick up spam complaints, your invoices, password resets and customer emails suffer too.

    Register a secondary domain that clearly belongs to your brand. If your company is acme.com, something like tryacme.com or acmehq.com works. Redirect the website to your main site so anyone who checks finds a real business. Never use a lookalike domain designed to impersonate someone else.

    Authenticate the domain with SPF, DKIM and DMARC

    Every sending domain needs all three records. Since February 2024, Gmail and Yahoo require them for bulk senders, and Microsoft started enforcing similar rules for Outlook.com in May 2025.

    An SPF record for a Google Workspace domain looks like this:

    Type: TXT
    Host: @
    Value: v=spf1 include:_spf.google.com ~all
    

    For Microsoft 365, swap the include:

    Type: TXT
    Host: @
    Value: v=spf1 include:spf.protection.outlook.com ~all
    

    Only keep one SPF record per domain. If a cold email platform sends on your behalf through its own servers, add its include to the same record.

    DKIM is generated inside your mail provider. In Google Workspace, go to Admin console > Apps > Google Workspace > Gmail > Authenticate email, generate a 2048-bit key, and publish it:

    Type: TXT
    Host: google._domainkey
    Value: v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
    

    Then return to the same screen and click Start authentication. Many people publish the record and forget this last click.

    DMARC ties it together. Start with monitoring:

    Type: TXT
    Host: _dmarc
    Value: v=DMARC1; p=none; rua=mailto:[email protected]
    

    Once reports show your legitimate mail passing, move to p=quarantine. A policy of p=none meets the current Gmail, Yahoo and Microsoft minimum.

    Know the mailbox provider rules

    These are the rules your cold email lives under. Even if you never reach the bulk thresholds, meeting them is the baseline for decent inbox placement.

    Provider Effective date Who it applies to Requirements
    Gmail (all senders) February 1, 2024 Anyone sending to personal Gmail accounts SPF or DKIM, valid forward and reverse DNS, TLS, spam rate below 0.3%
    Gmail (bulk senders) February 1, 2024, with phased enforcement through 2024 5,000+ messages per day to Gmail accounts SPF and DKIM, DMARC (p=none minimum), From domain aligned with SPF or DKIM, one-click unsubscribe for marketing mail, unsubscribes processed within 2 days
    Yahoo February 2024 Bulk senders SPF, DKIM, DMARC, one-click unsubscribe, honour unsubscribes within 2 days, low complaint rate
    Microsoft (Outlook.com, Hotmail, Live) May 5, 2025 5,000+ messages per day to Microsoft consumer domains SPF, DKIM, DMARC (p=none minimum, aligned with SPF or DKIM)

    Google’s guidance is to keep your spam rate under 0.1% and never let it reach 0.3%. With cold email, a few annoyed recipients clicking “Report spam” gets you there fast. That is the strongest argument for tight targeting.

    Respect sending limits

    Each mailbox has a hard cap. Free Gmail allows 500 recipients per day. Google Workspace allows 2,000 messages per user per day. Microsoft 365 allows 10,000 recipients per day and 30 messages per minute.

    Those caps are ceilings, not targets. For cold outreach, we keep each inbox to roughly 30 to 50 new cold emails a day, and we add inboxes rather than pushing one harder. A brand-new domain should start lower and ramp up over two to four weeks.

    If you connect your inbox to a sending platform over SMTP, use port 587 with STARTTLS unless the tool specifies otherwise. Our explainer on which SMTP port you should use covers the options.

    Setup steps

    1. Register a secondary domain tied to your brand.
    2. Create two or three real mailboxes on Google Workspace or Microsoft 365.
    3. Publish SPF, DKIM and DMARC records, then start DKIM signing.
    4. Point the domain’s website to your main site.
    5. Send normal, low-volume email from each inbox for two weeks.
    6. Ramp cold sends slowly, starting at 5 to 10 a day per inbox.
    7. Watch bounces, replies and spam complaints daily for the first month.

    How to Write a Cold Email That Gets a Reply

    Every good cold email answers three questions within about five seconds. Who are you? Why me? What do you want?

    Here is the anatomy, part by part.

    Subject line

    Write it like a colleague would. Short, lowercase-friendly, specific. Three to six words is plenty.

    Good: “question about your Q3 hiring”, “idea for {Company}’s onboarding”, “{Mutual contact} suggested I reach out”.

    Bad: “Quick question!!!”, “Partnership Opportunity”, “Re:” on a first email. That last one is deceptive and it falls foul of CAN-SPAM’s rule against misleading subject lines.

    Opening line

    Drop “I hope this email finds you well.” Everyone skips it, and it signals a template. Open with them instead: something they wrote, launched, hired for or said.

    The first line also shows as preview text in most inboxes. Treat it as a second subject line.

    Relevance

    One or two sentences connecting their situation to a problem you solve. Be specific. “Companies like yours struggle with churn” says nothing. “You’ve opened four CS roles since March, which usually means onboarding is straining” shows you did the work.

    The offer

    What do you bring? Keep it to one result, ideally with a number from a real customer. Skip feature lists. Nobody reads them in a cold email.

    Call to action

    Ask for one small thing. “Worth a 15-minute call next week?” works better than a calendar link in a first email, because it asks for a reply rather than a commitment. Interest-based CTAs (“Is this on your radar?”) work well for senior people.

    Sign-off and footer

    Your name, title, company and one link at most. Add an opt-out line and your postal address to stay on the right side of CAN-SPAM. Something as simple as “Not relevant? Reply ‘no thanks’ and I won’t follow up” works for the opt-out.

    Format rules

    • Plain text. No images, logos or HTML designs.
    • Under 125 words for the first email. Shorter is usually better.
    • One link at most. Zero is often safer on new domains.
    • Turn off open tracking. Tracking pixels are tiny images that can hurt deliverability, and Apple Mail Privacy Protection has inflated open rates since 2021 anyway, so the data is unreliable.
    • No attachments. Offer to send assets after they reply.

    Inbox tip

    Before a campaign goes live, run one email through a spam checker and look at your SpamAssassin score. Spammy phrases, broken HTML and a missing DKIM signature all show up there before they show up in your results.

    How to Pick the Right Cold Email Template

    Email Authentication Setup Diagram

    Templates save time, but the wrong one wastes a good prospect. Use these criteria to choose.

    How much do you know about them? If you found a real trigger, such as a funding round, new hire or product launch, use a trigger template. If all you have is a job title, you need more research, not a cleverer template.

    What relationship exists already? A mutual contact, a shared event or a past touchpoint beats any pitch. Always use the warmest angle you have.

    How senior are they? Executives respond to short, outcome-led notes. Managers respond to specifics about their daily work.

    What do you want? A meeting, an introduction, a piece of feedback or a partnership each need a different ask.

    What proof can you offer? If you have a strong case study from their industry, lead with it. If you don’t, lead with insight about their business instead.

    Quick-Reference: 12 Cold Email Templates Compared

    # Template Best use Research needed Ask size Ideal length
    1 Trigger-based opener Sales, any industry High Small 60-90 words
    2 Observation and idea Agencies, consultants High Small 70-100 words
    3 Right-person referral Finding the decision maker Low Very small 40-60 words
    4 Mutual connection Any warm-ish lead Medium Small 50-80 words
    5 Peer proof Sales with strong case studies Medium Medium 70-100 words
    6 Value-first share Long sales cycles Medium Very small 60-80 words
    7 Event follow-up After conferences or webinars Low Small 50-80 words
    8 New role congrats Leaders in their first 90 days Medium Small 60-90 words
    9 Partnership pitch Co-marketing, integrations High Medium 80-120 words
    10 Media pitch PR, guest posts High Medium 80-120 words
    11 Networking or job ask Career outreach Medium Small 60-100 words
    12 Breakup follow-up Final touch in a sequence None Very small 30-50 words

    12 Cold Email Templates, Ranked

    These are ranked by how reliably each one starts real conversations across the widest range of situations. Replace everything in curly brackets. If you can’t fill a bracket with something true and specific, skip that prospect or pick a different template.

    1. The Trigger-Based Opener (Top Pick)

    This is our top pick because it forces you to have a reason for every email. A trigger is a recent, public event that makes your offer timely: funding, hiring, a launch, an expansion, a tech change.

    Subject: {Trigger} at {Company}

    Hi {First name},

    Saw {Company} just {trigger, e.g. “opened a Berlin office”}. Teams expanding into new markets usually hit {specific problem} in the first few months.

    We help {type of company} {result}. {Customer} cut {metric} by {number} after a similar move.

    Worth a short call to see if it applies to you?

    {Your name}

    Why it works: The timing feels natural, and the problem is one they are likely facing right now. Good sources of triggers include company press pages, job boards, funding announcements and the prospect’s own posts.

    2. The Observation and Idea

    Best for agencies, consultants and anyone selling expertise. You point out something specific you noticed and offer one idea for free.

    Subject: idea for {Company}’s {area}

    Hi {First name},

    I was looking at {specific asset, e.g. “your pricing page”} and noticed {observation}.

    One quick idea: {specific, useful suggestion in one sentence}. We did something similar for {client} and saw {result}.

    Happy to send over two or three more ideas if this is useful. Want them?

    {Your name}

    Why it works: You give before you ask. The CTA is tiny, and a reply costs them nothing. Make sure the observation is accurate. Getting their product wrong ends the relationship before it starts.

    3. The Right-Person Referral

    Use this when you know the company is a fit but can’t tell who owns the decision.

    Subject: who handles {area} at {Company}?

    Hi {First name},

    I’m trying to reach whoever looks after {area} at {Company}. Is that you, or would someone else be better?

    Short version: we help {type of company} {result}.

    Thanks either way,

    Why it works: It is easy to answer, and a referral from inside the company (“Emma suggested I reach out”) warms up your next email. Send it to someone adjacent to the decision, not to the CEO of a 2,000-person company.

    4. The Mutual Connection

    If you share a contact, lead with it. Ask the mutual contact first whether you can use their name.

    Subject: {Mutual contact} suggested I reach out

    Hi {First name},

    {Mutual contact} mentioned you’re working on {project or goal}. We’ve been helping {similar company} with exactly that.

    {One line on result.}

    Would you be open to a 15-minute chat next week?

    {Your name}

    Why it works: Borrowed trust is the fastest way to warm a cold lead. Never name-drop someone without permission. It gets checked more often than you’d think.

    5. The Peer Proof

    Lead with a customer they know or respect, ideally a direct competitor or peer.

    Subject: how {Peer company} {result}

    Hi {First name},

    {Peer company} was dealing with {problem}. After switching to {product}, they {specific result with number} in {timeframe}.

    Given {Company}’s {similar situation}, I suspect you might see something similar.

    Open to seeing how they did it?

    {Your name}

    Why it works: Social proof from a peer lowers perceived risk. Only use customer names and numbers you have permission to share.

    6. The Value-First Share

    For long sales cycles or senior buyers who won’t take a meeting from a stranger. You share useful content with no strings.

    Subject: {topic} data you might find useful

    Hi {First name},

    We just pulled together {content, e.g. “a breakdown of how 40 SaaS companies price annual plans”}. Given {Company}’s {relevant context}, figured it might be useful.

    Want me to send it over?

    {Your name}

    Why it works: Asking before sending keeps the first email link-free, which helps deliverability on newer domains. Make sure the content is genuinely good. Recycled blog posts won’t earn a second email.

    7. The Event Follow-Up

    Use within a week of a conference, webinar or meetup where they spoke or attended.

    Subject: your talk at {Event}

    Hi {First name},

    Caught your session on {topic} at {Event}. Your point about {specific detail} stuck with me, especially {why}.

    We work on {related problem} with {type of company}. Would be good to compare notes for 15 minutes if you’re open to it.

    {Your name}

    Why it works: A shared experience makes the email feel lukewarm rather than cold. Quote something specific so it’s obvious you were really there.

    8. The New Role Congrats

    New leaders usually have budget, a mandate to change things and a 90-day window to show results.

    Subject: congrats on the new role

    Hi {First name},

    Congrats on joining {Company} as {title}. The first few months in a role like that usually mean {common priority}.

    We’ve helped {number or names} of new {titles} {result} in their first quarter.

    Worth a quick chat once you’ve settled in?

    {Your name}

    Why it works: The timing is right, and the CTA respects that they’re busy. Wait two to three weeks after the announcement so they’re not buried in congratulations.

    9. The Partnership Pitch

    For integrations, co-marketing, affiliate deals and joint content.

    Subject: {Your company} x {Their company}?

    Hi {First name},

    I run {role} at {Your company}. We serve {audience}, which overlaps heavily with {Their company}’s customers.

    Idea: {specific partnership, e.g. “a joint webinar on X” or “a native integration between our platforms”}. For context, {proof of reach or traction}.

    Is this something you’d explore? Happy to send a one-page outline.

    {Your name}

    Why it works: It frames mutual gain early and offers a concrete next step. Our guide to email pitch examples for sales, PR and partnerships has more variations on this one.

    10. The Media Pitch

    For PR, podcast guest spots and expert commentary. Journalists get buried in pitches, so relevance is everything.

    Subject: data on {topic they cover}

    Hi {First name},

    Read your piece on {recent article}. We have {new data, story or expert} that adds {angle} to it.

    Headline finding: {one striking, verifiable fact}.

    Happy to share the full data or set up a call with {expert}. Would that be useful for an upcoming story?

    {Your name}

    Why it works: You’re offering material for their next story, not asking for a favour. Never pitch a journalist something outside their beat.

    11. The Networking or Job Ask

    For career outreach, informational interviews and reaching hiring managers directly.

    Subject: question about {team} at {Company}

    Hi {First name},

    I’m a {role} with {experience} and I’ve followed {Company}’s work on {specific thing} for a while.

    Would you be open to 15 minutes to share how your team approaches {topic}? I’d value the perspective, and I’ll keep it to the time.

    {Your name}

    Why it works: Asking for insight gets far more replies than asking for a job. If the conversation goes well, the job question follows naturally.

    12. The Breakup Follow-Up

    The last email in a sequence. It closes the loop politely and often gets the highest reply rate of any follow-up.

    Subject: closing the loop

    Hi {First name},

    I’ve reached out a few times about {topic} and haven’t heard back, so I’ll assume the timing isn’t right.

    If that changes, just reply here. Wishing you a good quarter.

    {Your name}

    Why it works: It removes pressure and gives an easy out. Some people reply simply to say “not now, try in Q2,” which is valuable information.

    How to Follow Up Without Being Annoying

    Most replies come after the first email, not from it. A short sequence of three to four emails total is our working standard.

    Email Timing Purpose
    1 Day 1 Main pitch using one of the templates above
    2 Day 3-4 Short bump in the same thread with one new detail
    3 Day 8-10 New angle: a case study, a question or a useful resource
    4 Day 15-20 Breakup email

    Rules for follow-ups:

    • Reply in the same thread so context stays visible.
    • Add something new each time. “Just bumping this to the top of your inbox” adds nothing.
    • Stop immediately when someone replies, books, opts out or bounces. Good cold email platforms do this automatically.
    • Never follow up after a “no.” Remove them and move on.

    If you’re sending manually, you can schedule emails in Gmail to land at the start of the recipient’s workday in their own time zone. That small detail helps more than most subject line tweaks.

    Manual Sending vs. a Cold Email Platform

    Below about 20 emails a day, sending by hand from Gmail or Outlook is fine. You’ll write better emails because each one gets your full attention.

    Past that, a dedicated cold email platform makes sense. Look for these features:

    • Multiple inbox support so you can spread volume across mailboxes and domains.
    • Automatic stop-on-reply across every step in a sequence.
    • Sending windows and throttling to space emails out like a human would.
    • Plain-text sending with open tracking off by default, or easy to disable.
    • CRM sync so replies and meetings land in your pipeline without manual entry.
    • Bounce handling that removes bad addresses after the first hard bounce.

    Avoid any tool that sells you contact data scraped without a lawful basis, or that encourages huge volumes from a single inbox. Those are shortcuts that end with a blocklisted domain.

    Metrics to Watch

    Opens are no longer a reliable signal, so focus on what happens after delivery. These are the thresholds we work to.

    Metric What it tells you Where to check Healthy range
    Bounce rate List quality Your sending platform or inbox Under 2%; pause and clean the list above that
    Spam complaint rate How recipients feel about you Google Postmaster Tools, Yahoo Sender Hub Under 0.1%; never reach 0.3% (Google’s limit)
    Reply rate Overall relevance Sending platform Track the trend by campaign
    Positive reply rate Real interest Manual tagging or CRM The number that matters most
    Meetings booked Business outcome CRM or calendar Measure per 100 prospects contacted

    Treat reply rate as relative, not absolute. Compare one campaign against another, not against a figure from someone else’s industry. When you want to know which subject line or opener works better, run proper A/B testing with only one variable changed and enough sends on each side to mean something.

    Google Postmaster Tools only shows data once you send meaningful volume to Gmail users, so small senders may see nothing there. In that case, watch for a sudden drop in replies. It’s often the first sign you’ve slipped into spam.

    Deliverability risk

    A sudden spike in bounces is the fastest way to get a new domain flagged. Verify every address before it enters a sequence, and stop sending the moment bounces climb.

    Common Cold Email Mistakes

    Writing about yourself first. If the first two sentences are about your company, the reader has already gone. Open with them.

    Faking personalisation. “I loved your recent post!” with no detail is worse than no personalisation at all. People can tell.

    Asking for too much. A 45-minute demo request from a stranger rarely gets a yes. Ask for a reply, a short call or permission to send something.

    Sending too fast on a new domain. Volume on day one is the most common reason new senders end up in spam. Ramp slowly.

    Using HTML designs and images. Cold emails should look like a person typed them. Banners and logos make them look like campaigns, and filters treat them that way.

    Ignoring opt-outs. Every “please remove me” must be honoured quickly and permanently, across every inbox and tool you use. CAN-SPAM gives you 10 business days. Gmail and Yahoo expect unsubscribes processed within 2 days for bulk senders. Aim for same-day.

    Hiding where you found their data. Under GDPR, you owe recipients that information. A short line such as “I found your details on your company’s team page” handles it and builds trust.

    FAQ

    How to create a cold email?

    Start with research: find one specific, recent reason to contact the person. Then write a short subject line, an opening line about them, one sentence on the problem you solve, one result as proof, and a single small ask. Keep it under 125 words, send it as plain text from an authenticated domain, and include an opt-out line and postal address.

    What is the 60/40 rule in email?

    It is an informal content guideline, not a formal standard, and different marketers define it slightly differently. The most common version says about 60% of your content should give value (insight, help, useful information) and 40% can promote your product or offers. In cold email, push it further: the first email should be almost entirely about the recipient’s situation, with only a line or two about you.

    What are the 5 C’s of email?

    The most widely used version is clear, concise, correct, courteous and complete. Some trainers swap in “compelling” or “conversational.” For cold email, concise and clear matter most: one idea, one ask, no jargon, and nothing the reader has to reread to understand.

    What does “cold reach out” mean?

    Cold reach out means contacting someone who has no prior relationship with you and hasn’t asked to hear from you. It can happen over email, LinkedIn or phone. Cold email is the most common form because it’s scalable, asynchronous and easy for the recipient to answer on their own time.

    Is cold email the same as spam?

    No. Cold email is targeted, honest and sent to people with a plausible reason to care. Spam is untargeted, often deceptive and sent at volume. The line is crossed when you mislead people, ignore opt-outs, use bought lists or send to people with no connection to your offer.

    How many cold emails can I send per day?

    Hard limits are 500 recipients per day for free Gmail, 2,000 messages and 10,000 total recipients per day per Google Workspace user, and 10,000 recipients per day on Microsoft 365 business plans (consumer Outlook.com accounts are capped at 5,000 recipients per day). For cold outreach, stay far below those. We recommend 30 to 50 new cold emails per inbox per day, after a warm-up period of two to four weeks on a new domain.

  • What Is a Honeypot Spam Trap and How to Avoid One

    What Is a Honeypot Spam Trap and How to Avoid One

    A honeypot is a decoy built to look like a real target so it attracts attackers, spammers or bots, then records what they do. In cybersecurity that decoy might be a fake server or database. In email it is usually a spam trap: an address that no real person uses, so any mail it receives exposes a sender with bad list practices.

    Core ideaDecoy that baits intruders
    Email versionSpam trap address
    Main riskBlocklisting and junk placement
    Best defenceConfirmed opt-in

    Honeypot definition: what does honey pot mean?

    The term borrows from an old image: leave honey out and you will soon see what comes to eat it. In plain English, a honey pot is anything deliberately attractive that lures people or software into revealing themselves.

    You will see it used in four main ways:

    • Cybersecurity. A fake system, service or file that looks valuable and vulnerable. Legitimate users have no reason to touch it, so any interaction is suspicious by definition.
    • Email deliverability. A spam trap address seeded where harvesters or careless list builders will pick it up.
    • Web forms. A hidden field that humans never see but bots fill in, which flags the submission as automated.
    • Espionage. A “honey trap” is an intelligence operation that uses romantic or personal attraction to compromise a target. Spy fiction leans on this meaning heavily, but it has nothing to do with your inbox.

    So what is honey potted? It is informal slang for having been caught by one of these lures. A spammer who mails a trap address has been honey potted. So has a hacker who spent an afternoon looting a fake database full of planted data.

    One of the best-known early cases came from astronomer-turned-sysadmin Clifford Stoll. In 1986 at Lawrence Berkeley Laboratory, he created bogus files about an invented “SDInet” project to keep an intruder connected long enough to trace him. He told the story in his 1989 book The Cuckoo’s Egg, and it remains a textbook example of the idea.

    How a honeypot works

    The logic is simple and that is why it is so effective. A real production server gets plenty of legitimate traffic, so spotting the malicious requests is hard. A decoy gets no legitimate traffic at all. Every connection, login attempt or email that lands on it is a signal.

    That gives defenders three things:

    1. Detection. An alert fires the moment anything touches the decoy.
    2. Information. You can study the attacker’s tools, commands and malware without risking real assets.
    3. Diversion. Time an attacker spends inside a fake system is time not spent on your real one.

    Email spam traps run on exactly the same principle. An address that never subscribed to anything should never receive marketing. If it does, the sender either scraped it, bought it, guessed it, or kept mailing it long after it died.

    Types of honeypots

    How a Honeypot Works Diagram

    Security teams sort honeypots along a few different lines. The two most useful are purpose and complexity.

    Research vs. production honeypots

    Research honeypots exist to study attackers. Universities, security vendors and groups like the Honeynet Project (founded in 1999) run them to learn about new exploits, botnets and malware families. They tend to be elaborate and are watched closely, because the goal is data.

    Production honeypots sit inside a company’s network as an early-warning system. They are simpler, cheaper and placed near real servers so that an intruder who moves sideways through the network trips an alarm. The goal here is protection, not research.

    Honeypots by complexity level

    Level What it imitates Effort to run What you learn Risk
    Low-interaction A few services or open ports Low Who is scanning and probing Low
    Medium-interaction Convincing service responses, fake shells Moderate Common attack scripts and payloads Moderate
    High-interaction A full real operating system and applications High Complete attacker behaviour, custom tools Higher, since a real system can be abused

    Low-interaction decoys are the sensible starting point for most organisations. High-interaction setups give much richer intelligence, but they need tight isolation so a compromised decoy cannot be used to attack anyone else.

    6 types of honeypots by target

    1. Email honeypots (spam traps). Addresses built to catch spammers and list harvesters. More on these below, since they are the ones that will hurt your email marketing.
    2. Database honeypots. Fake databases that attract SQL injection and data theft attempts.
    3. Malware honeypots. Systems that mimic vulnerable software or USB storage to capture malware samples.
    4. Spider honeypots. Pages and links only reachable by crawlers, used to identify malicious bots and scrapers.
    5. Client honeypots. Decoy “users” that visit websites to find malicious servers that attack visitors.
    6. Honeynets. Whole networks of linked decoys that let researchers watch an attack unfold across multiple machines.

    What is a honeypot trap in email?

    For senders, the honeypot that matters is the spam trap. It is a valid-looking address on a real domain that accepts mail, never opts in to anything and never engages. Blocklist operators and mailbox providers run them, and anti-spam services use the hits to decide whose mail is trustworthy.

    Spamhaus, the most influential blocklist operator, runs large trap networks. Mailbox providers run their own. Community projects have done the same: Project Honey Pot, started in 2004 by Unspam Technologies, distributed trap addresses through volunteer websites to identify harvesters. Nobody publishes trap addresses, which is the whole point. You cannot “scrub” them from a list with a lookup.

    The 3 spam trap types

    Trap type How it is created How you end up mailing it Severity
    Pristine Created purely as a trap and planted on web pages or in code where only scrapers find it Bought, rented or scraped lists Severe
    Recycled A once-real address abandoned by its owner, bounced for a long period, then reactivated as a trap Mailing old contacts without removing hard bounces or inactive subscribers Moderate to severe
    Typo A misspelled domain or address, such as a common domain with one letter swapped Signup forms with no validation or confirmation Lower, but adds up

    A pristine trap hit is the most damaging because there is no innocent explanation. Nobody signs up with that address, so mailing it proves you acquired data you had no permission to use.

    Recycled traps catch legitimate senders who simply got lazy. The address hard bounced for months, you ignored the bounces, and one day it quietly started accepting mail again. Typo traps catch senders with weak forms: someone types their address wrong, you never confirm it, and you keep mailing a stranger’s domain.

    What happens when you hit a spam trap

    Spam Trap Types Table

    The consequences scale with the trap type and how often you hit them.

    • Blocklisting. Spamhaus can list your sending IP or domain. Many receiving servers reject or junk mail from listed sources outright.
    • Filtering penalties. Blocklist hits feed into e-mail spam filtering everywhere. Tools that use real-time blocklists add points to your SpamAssassin score, pushing borderline messages into the junk folder.
    • Reputation damage at the mailbox providers. Gmail, Yahoo and Microsoft weigh trap hits alongside complaints and engagement. Damage to your domain reputation follows you even if you change IPs.
    • Account action from your ESP. Email service providers watch their shared IP reputation. Repeated trap hits can get your account paused or closed.

    The pressure has increased since February 2024, when Google and Yahoo began enforcing rules for bulk senders. Anyone sending around 5,000 or more messages a day to Gmail addresses must authenticate with SPF, DKIM and DMARC, support one-click unsubscribe, and keep the spam complaint rate in Postmaster Tools well below 0.3%, the level at which Gmail starts blocking mail. Google recommends staying under 0.1%. Microsoft announced similar authentication requirements for high-volume senders to Outlook.com addresses, enforced from May 2025. Senders who hit traps usually have the same list problems that drive complaints, so the two failures tend to arrive together.

    Deliverability risk

    One purchased list can hold enough pristine traps to get a sending domain blocklisted within a single campaign. No list vendor can guarantee it is trap-free.

    How to avoid honeypot spam traps

    You cannot identify a trap address directly, so the defence is process. Clean list building and steady hygiene keep traps out, and that protects your reputation far better than any after-the-fact scrubbing.

    Keep spam traps off your list

    1. Never buy, rent or scrape email addresses.
    2. Use double opt-in so every address is confirmed by its owner.
    3. Add a hidden honeypot field and rate limiting to signup forms.
    4. Validate addresses in real time at the point of signup.
    5. Remove hard bounces after the first failure.
    6. Run a re-engagement campaign for subscribers inactive for 90 to 180 days.
    7. Suppress anyone who stays inactive after the re-engagement series.
    8. Monitor Postmaster Tools, Microsoft SNDS and major blocklists weekly.

    A few notes on the steps that matter most:

    Double opt-in is your strongest shield. A trap address cannot click a confirmation link, so it never becomes an active subscriber. It also stops typo traps and malicious signups that enter someone else’s address.

    Sunset inactive contacts. Recycled traps only exist because abandoned addresses go silent. If you suppress people who have shown no opens or clicks across a reasonable window, you drop most dead addresses before they can be converted. Treat Apple Mail Privacy Protection opens with caution here, since they inflate opens; clicks, replies and purchases are better signs of life.

    Validate at entry, not just in bulk. Real-time validation catches obvious typos like misspelled popular domains before they reach your list. Bulk verification services are useful for spotting invalid and risky addresses, but none of them can reliably detect every trap. Their own documentation is generally careful about that claim, and you should be too.

    Inbox tip

    Add a gentle “Did you mean gmail.com?” suggestion to your signup form. It fixes typo addresses before they ever become typo traps, and it rescues real subscribers you would otherwise lose.

    Use a honeypot field on your own signup forms

    Here is the angle most guides skip: you can turn the honeypot idea against bots yourself. Spam bots fill in every field they find on a form. A honeypot field is an input that is hidden from humans with CSS. If it comes back filled in, the submission is almost certainly automated and you discard it.

    <div style="position:absolute; left:-9999px;" aria-hidden="true">
      <label for="company_url">Leave this field empty</label>
      <input type="text" id="company_url" name="company_url"
             tabindex="-1" autocomplete="off" value="">
    </div>
    

    Then reject any submission where company_url has a value. Hide the field with CSS positioning rather than type="hidden", because some bots skip true hidden inputs. The tabindex="-1" and aria-hidden attributes keep keyboard and screen reader users from landing on it.

    Many ESP embedded forms already include a field like this. Mailchimp’s standard embed, for example, ships with a bot-catching input. If you build custom forms, add your own and pair it with rate limiting or a CAPTCHA for high-traffic pages. Bot signups do more than pollute your list; they are often used in “list bombing” attacks that flood a victim’s inbox with confirmation emails from dozens of senders at once.

    Pros and cons of honeypots

    For security teams running their own decoys, the trade-offs look like this:

    Pros Cons
    Very few false positives, since no legitimate traffic should hit the decoy Only sees attacks aimed at the decoy itself
    Cheap low-interaction options exist Experienced attackers can sometimes fingerprint a fake system
    Captures real malware and techniques for study A poorly isolated high-interaction decoy can be hijacked
    Buys time and diverts attackers from real servers Needs monitoring; an unwatched honeypot is just noise

    For email senders the calculation is simpler. You do not run the traps; you just need to avoid them. And because trap operators never reveal which addresses they use, good permission practice is the only approach that works.

    Signs you may already have hit a trap

    Trap hits rarely come with a polite notice. Watch for these symptoms:

    • A sudden drop in inbox placement at one provider while others stay stable.
    • Bounce messages that reference Spamhaus or another blocklist.
    • Your sending IP or domain appearing on a blocklist lookup.
    • A warning or suspension notice from your ESP.
    • Rising spam rates in Google Postmaster Tools after mailing an old or imported segment.

    If you see these, stop mailing the segment that triggered the problem. Identify the source: an imported list, a reactivated old segment, or a form being abused by bots. Suppress everyone in that source who has not engaged recently, fix the signup process, then follow the delisting procedure on the relevant blocklist’s site. Delisting without fixing the cause just gets you listed again.

    It also helps to send from a domain email address you own and authenticate properly. A shared or free-mailbox From address gives you nothing to rebuild once reputation recovers.

    FAQ

    What is a honeypot in simple terms?

    A honeypot is a decoy that looks like a real target. It exists to attract attackers, spammers or bots so their activity can be detected, recorded and studied without putting genuine systems or people at risk.

    What is a honeypot trap in email marketing?

    It is a spam trap: an email address that no real person uses and that never opted in to receive mail. Sending to one tells blocklist operators and mailbox providers that your list was bought, scraped or poorly maintained.

    Can I find and remove spam traps from my list?

    Not reliably. Trap operators keep their addresses secret. Verification tools flag some risky addresses, but the dependable fix is double opt-in, removing hard bounces, and sunsetting inactive subscribers.

    Is a honey trap the same as a honeypot?

    They share an origin but mean different things. A honey trap is an espionage or scam tactic that uses personal attraction to compromise someone. A honeypot is a technical decoy used in security and email.

    How long does it take to recover from a spam trap hit?

    It depends on the blocklist and how many traps you hit. Some listings clear quickly once the cause is fixed and you request removal. Domain reputation with Gmail or Microsoft usually takes weeks of clean, engaged sending to rebuild.

    Are honeypots legal?

    Running a honeypot on your own systems is generally legal and is standard security practice. Legal questions around data capture and privacy vary by country, so organisations running research honeypots that record attacker data should check local rules.

  • Email Pitch Examples for Sales, PR and Partnerships

    Email Pitch Examples for Sales, PR and Partnerships

    A strong email pitch is usually under 150 words. It opens with something specific to the recipient, offers one clear piece of value and ends with one easy ask. Below are 14 email pitch examples for sales prospects, journalists and potential partners, with notes on why each works and when to use it. After the examples you’ll find follow-up timing, the deliverability setup and the legal rules that decide whether anyone reads your pitch.

    Best forSales, PR, partnerships
    Ideal length75-150 words
    Follow-upsOne to three
    Key recordDMARC

    The four parts every pitch needs

    Every pitch that gets a reply has the same skeleton, whatever the context. Strip away the tone and the industry jargon and you’ll find four parts.

    1. The hook. The first line proves you know who they are. It could be a recent article, a new job posting, a product launch or a mutual connection. A generic compliment doesn’t count.
    2. The bridge. One or two sentences that connect their world to yours. This answers “why are you emailing me, and why now?”
    3. The value. What they get. For a prospect, that’s a result. For a journalist, it’s a story their readers will care about. For a partner, it’s access to an audience or a product gap filled.
    4. The ask. One action, small enough to say yes to in ten seconds. “Worth a 15-minute call Thursday?” works better than “Let me know your thoughts.”

    The weight of each part shifts by pitch type. Sales prospects care about their problem, reporters care about their readers, and partners care about the trade. The table below shows the working ranges I use. They come from practice, not from a survey.

    Sales pitch PR / media pitch Partnership pitch
    Question in the reader’s head Does this fix a problem I have? Will my audience care? What do we each get?
    Strongest hook Trigger event, peer result Fresh data, exclusive, timely angle Audience overlap, complementary product
    Working length 50-125 words 100-200 words 100-150 words
    Best ask Short call or yes/no question “Want the full data?” Short call or a specific proposal
    Follow-ups 2-3 over two to three weeks 1, three to five days later 1-2 over two weeks

    What 12 million outreach emails tell you

    The most useful public dataset on cold pitching is still the analysis Backlinko ran with outreach platform Pitchbox. It looked at 12 million outreach emails and was published in 2019. That makes it old, and inboxes have only grown more crowded since, so treat the response rate as a ceiling rather than a target. The relative findings still match what most outreach teams see today.

    Finding (Backlinko and Pitchbox, 12M emails, 2019) Result
    Average response rate across all outreach 8.5%
    Personalized subject line vs none 30.5% higher response rate
    Personalized message body vs none 32.7% higher response rate
    Sending at least one follow-up 65.8% more responses
    Contacting multiple people at the same organization 93% higher response rate
    Subject line length with the best response rate 36-50 characters

    Two things stand out. First, more than 90% of cold pitches get no reply at all, so silence is the default rather than a verdict on you. Second, the biggest lifts come from things that take effort: personalizing, following up and finding the right second contact. No template does that part for you.

    Find the angle before you write a word

    Pitch Type Comparison Table

    Most bad pitches fail before the first sentence because the sender never found an angle. They had a product or a press release and went looking for people to send it to. Flip that order.

    Three rules for getting replies

    • Relevance beats volume. Ten pitches to people who have written about, bought or partnered on exactly your thing will outperform 500 to a loosely related list. Every annual journalist survey from Cision and Muck Rack puts irrelevant pitches at the top of reporters’ complaints.
    • Give before you ask. Lead with a data point, a fix, a quote or an introduction they can use even if they ignore the rest of the email.
    • Make yes easy. One ask, one time slot, one attachment at most. Every extra decision you hand someone lowers the chance they make any of them.

    Where good angles come from

    Good angles come from a handful of reliable places. Recent work is one: an article they wrote, a podcast they appeared on, a feature their product shipped. Trigger events are another, such as funding rounds, new leadership, hiring sprees, expansions and pricing changes.

    Your own data counts too: customer results, survey findings and usage patterns nobody else has. So do gaps, meaning a story their competitor covered and they didn’t, or a product category their customers keep asking for.

    If you can’t name the angle in one sentence, you aren’t ready to send.

    Subject lines that get opened

    The subject line has one job: get the email opened by the person it was written for. It shouldn’t sell, explain or tease. It should signal relevance.

    Subject lines that tend to work:

    • Your piece on four-day weeks (references their work)
    • Data: 61% of freelancers raised rates in Q1 (leads with the hook for a reporter)
    • Northwind + Fieldstack webinar idea (partnership, both names)
    • Broken link on your pricing page (useful, specific, hard to ignore)
    • Question about your SDR hiring (short, personal, curious)

    Subject lines that get deleted:

    • Quick question (every cold emailer uses it)
    • Partnership opportunity!! (vague and shouty)
    • Re: our conversation when there was no conversation (deceptive, and a CAN-SPAM problem)
    • PRESS RELEASE: Company X Announces... (reads like a wire dump)

    Inbox tip

    Write the subject line last. Once the hook is clear in your body copy, the subject line is usually the hook in five to eight words.

    Sales email pitch examples

    Cold Email Stats Visualization

    Company names, people and figures in every example below are placeholders. Swap in your own verified numbers. A pitch with an invented result is worse than one with no result at all.

    Example 1: The trigger event pitch

    When to use it: The prospect just did something public that creates a problem you solve, like hiring, raising money or launching in a new market.

    Subject: Your six new SDR roles

    Hi Priya,

    Saw Northwind is hiring six SDRs this quarter. Congrats on the growth.

    When outbound teams double in size, ramp time usually becomes the bottleneck. Fieldstack, a 40-person sales team in a similar spot, used Lumen Coach to cut new-rep ramp from 14 weeks to 9.

    Worth a 15-minute look before your new hires start? I’m free Thursday at 11 or 2 your time.

    Sam

    Why it works: The opening line could only have been written to Priya. The bridge names the problem her hiring creates before she has felt it, and the proof comes from a comparable company. The ask offers two specific times, so replying takes one word.

    Example 2: The “results” email

    When to use it: You have a strong case study from a customer the prospect will recognize or relate to.

    Subject: How Brightline cut refund requests by 22%

    Hi Marcus,

    You and Brightline sell into the same mid-market retail buyers, so this might be useful.

    Their support team was handling about 900 refund requests a month. After adding our pre-purchase sizing quiz, that dropped 22% in one quarter, and the quiz paid for itself in the first month.

    I put the before-and-after numbers on a single page. Want me to send it over?

    Dana

    Why it works: It leads with the result in the subject line, which is the only thing a busy buyer wants to know. The ask is a yes/no question about receiving a document rather than booking a meeting. That’s a smaller step and a natural opening for a reply.

    Example 3: The relevant share email

    When to use it: Early in a relationship, or with a prospect who isn’t ready to buy, to build familiarity without pushing.

    Subject: Benchmark for your onboarding emails

    Hi Leah,

    I noticed Copperleaf just rebuilt its welcome sequence. It looks sharp.

    We recently pulled activation data from 140 SaaS onboarding flows and found that the second email, not the first, drives most trial-to-paid conversions. The full breakdown is in a short PDF. No form, no gate.

    Happy to send it if it’s useful. No pitch attached.

    Owen

    Why it works: It delivers something useful with no strings, and the observation proves Owen looked. Some prospects will reply just to get the PDF, which opens a conversation on your terms. Use this one sparingly. Three “no pitch attached” emails in a row and the reader stops believing you.

    Example 4: The typo email

    When to use it: You spotted a genuine error on the prospect’s site, app or emails, ideally one related to what you sell.

    The typo email has been a staple of link-building outreach for years, and it works just as well in sales. You hand someone a fix before you ask for anything.

    Subject: Broken link on your pricing page

    Hi Tomas,

    Quick heads-up: the “Compare plans” button on your pricing page returns a 404 on mobile Safari. I checked twice this morning.

    I only noticed because I was looking at how SaaS teams handle plan comparison. We build pricing page tests for companies like yours, and broken mobile CTAs are the most common leak we find.

    Either way, worth fixing today. If you’d like a free audit of the rest of the page, just reply “audit.”

    Rina

    Why it works: The first paragraph has value with no conditions attached. The pitch is one sentence and naturally connected to the problem. The ask is a one-word reply.

    Be accurate. Point out an error that isn’t real, or one they’ve already fixed, and you look careless rather than helpful.

    Example 5: The breakup follow-up

    When to use it: As the final email in a sequence, after two or three unanswered attempts.

    Subject: Closing the loop

    Hi Priya,

    I’ve reached out a couple of times about ramp time for your new SDRs and haven’t heard back, which usually means the timing’s wrong.

    I’ll stop emailing about this. If onboarding becomes a priority later in the year, reply to this thread and I’ll pick it up from there.

    Thanks either way,
    Sam

    Why it works: It’s honest, it removes pressure and it gives a clear exit. Breakup emails often get more replies than the emails before them, because people answer to say “not now, try in Q3.” That’s a useful answer. Stick to your word afterward. A breakup email followed by another pitch next week burns the relationship.

    PR and media pitch examples

    Journalists get far more pitches than they can read, so the rules tighten. Put the story in the first two lines. Paste the key facts into the email body instead of attaching them. Never pitch a reporter something outside their beat.

    Example 6: The story pitch

    When to use it: You have a human story with a clear arc, a tension and a person willing to talk on the record.

    Subject: Bakery that moved to a 4-day week and grew 30%

    Hi Jordan,

    Your piece on the four-day week pilots got a lot of people in our town talking, including the owner of Crumb & Co.

    Ellie Park moved her 18 staff to four-day weeks last spring, expecting to lose money. Instead, revenue grew 30% year over year and she hasn’t lost an employee since. She’s candid about what went wrong in the first two months too, including a rota disaster that nearly ended the experiment.

    Ellie’s available for an interview this week and can share her monthly numbers. Would this fit something you’re working on?

    Mia Chen
    Communications, Crumb & Co.

    Why it works: It ties the pitch to the reporter’s own coverage, and the story has tension: she expected failure. It also offers something the reporter needs, an on-record source with real numbers and a willingness to talk about mistakes. Polished success stories are dull. Admitted struggles are a story.

    Example 7: The exclusive research email

    When to use it: You’ve commissioned a survey or have proprietary data, and you want one strong placement before wide release.

    Subject: Exclusive: 61% of freelancers raised rates in Q1

    Hi Sofia,

    You’ve covered freelance pay more closely than anyone on the beat, so I wanted to offer you this first.

    We surveyed 1,200 US freelancers in March. Three findings stood out:

    • 61% raised their rates in Q1, up from 38% a year earlier
    • Designers raised rates most often; writers least
    • 1 in 4 now require a deposit before starting work

    I can offer this to you exclusively until 9 a.m. ET on May 14, with the full dataset and methodology. Interested?

    Raj

    Why it works: The headline finding sits in the subject line. The bullets let the reporter judge the story in five seconds. The exclusive has a clear deadline, so she knows what she’s being offered and when it expires.

    If she passes, honor the exclusive window before you take the data to anyone else. Methodology matters as well. Have sample size, dates and how respondents were recruited ready to send, because serious reporters will ask.

    Example 8: The related story email

    When to use it: A reporter covered a topic recently, and you have a genuine follow-up angle, new development or missing perspective.

    Subject: Follow-up to your EV charger piece

    Hi Andre,

    Your story last month on broken public EV chargers named reliability as the top complaint. We track uptime across 4,000 chargers in the Northeast, and our April numbers suggest the problem is concentrated in a small set of hardware models rather than spread across the network.

    I can share the model-by-model breakdown and put you in touch with our head of field operations, who’s happy to go on record.

    Would a follow-up angle on this be useful?

    Kate

    Why it works: It doesn’t ask the reporter to start from scratch. It extends a story he already owns and offers a narrower, more surprising angle. Reporters like follow-ups because their editor already approved the topic once.

    A second version of this pitch works when a reporter covered your competitor. “You wrote about X’s approach; here’s a company doing the opposite, with different results” is a legitimate angle, provided you can back the difference with numbers.

    Example 9: The infographic email

    When to use it: You’ve turned data into a clear visual and want editors, bloggers or newsletter writers to use it.

    Subject: Chart for your remote work roundup

    Hi Grace,

    Your weekly remote work roundup regularly includes a “chart of the week,” so I thought this one might fit.

    We mapped average home-office spending by country from our 2,000-customer dataset. The gap between Germany and the US surprised even us. A preview is pasted below, and the full-size chart and source CSV are free to use with credit.

    [chart preview pasted inline]

    Want the files?

    Leo

    Why it works: It targets a specific recurring slot in Grace’s newsletter, which shows research. The visual is in the body rather than hidden behind an attachment, and the source data is offered upfront, which matters to any editor who checks numbers.

    Keep the inline image small. A large image with little text is a classic spam-filter signal, and many corporate mail systems block images by default.

    Example 10: The expert commentary email

    When to use it: A big news story just broke, and you have a credible expert who can add something reporters don’t already have.

    Subject: Source on today’s Gmail spam rule change

    Hi Nadia,

    If you’re covering today’s Gmail sender announcement, our deliverability lead, Chris Okafor, has audited authentication for 300+ brands and can explain what changes for small senders.

    One line you’re welcome to use: “Most small businesses already pass SPF. The ones who’ll get hurt are those who never set up DMARC and don’t know who’s sending email in their name.”

    Chris is available by phone until 6 p.m. ET today.

    Ben

    Why it works: Speed and a usable quote. Reporters on deadline need sources who can talk now. A strong, quotable line in the email itself often gets used even without a call. Only send this when your expert truly has standing on the topic. Newsjacking with a weak source annoys reporters and gets you remembered for the wrong reasons.

    Partnership pitch examples

    Partnership pitches are closer to negotiations than requests. Both sides need to see the trade quickly, and the trade has to be roughly even. If the email reads like you want their audience for free, it’s dead.

    Example 11: The co-marketing webinar pitch

    Subject: Northwind + Fieldstack webinar idea

    Hi Elena,

    Our customers keep asking how to connect their CRM data to onboarding emails, and Fieldstack is the integration we recommend most often.

    Idea: a 45-minute joint webinar in June, “From signed deal to activated customer,” with one speaker from each side. We’d handle production and promotion to our 22,000 subscribers. You’d promote to yours, and both teams get the full registrant list.

    If that’s interesting, I can send a one-page outline. Does a quick call next week work?

    James

    Why it works: It starts from a real overlap, shared customers, and names a specific format, date and title. That saves Elena from having to invent the idea herself. Spelling out who does what and who gets the leads answers her biggest question before she asks it.

    Check consent before you promise registrant lists. Under GDPR in particular, sharing leads between companies needs a clear basis, usually stated on the registration form.

    Example 12: The integration partnership pitch

    Subject: 140 of your customers already use us

    Hi Arjun,

    We looked at our customer base and found 140 accounts that also use Ledgerly. Most of them export invoices to CSV and re-upload them into our dashboard every week.

    A native integration would kill that step. We’ve scoped it at roughly six weeks of work on our side using your public API. We’d just need a sandbox account and a technical contact for questions.

    Would you be open to listing it in your marketplace once it’s live? Happy to share the scope doc.

    Wen

    Why it works: It opens with a number that matters to Arjun, his own customers, and it shows the pain they’re living with. Then it lowers the effort on his side to almost nothing. Partners say yes to integrations that make their product stickier and cost them little.

    Example 13: The newsletter sponsorship or creator pitch

    Subject: Sponsoring your April issues

    Hi Theo,

    I’ve read your newsletter on indie SaaS pricing for about a year. Your teardown of usage-based plans is still pinned in our team channel.

    We’d like to sponsor two issues in April. We make billing software for small SaaS teams, which seems a natural fit for your readers, and we’re happy to follow your usual format and disclosure rules.

    Could you send your current rates and open dates?

    Ana

    Why it works: It’s direct. Creators get plenty of vague “let’s collaborate” emails, and one that says “we want to pay you, here’s when” stands out. Respecting their format and disclosure rules signals you won’t be a difficult sponsor. In the US, the FTC expects paid placements to be clearly disclosed, so a sponsor who mentions it upfront is easier to work with.

    Example 14: The guest content or newsletter swap pitch

    Subject: Content swap for May?

    Hi Carla,

    Your readers are mostly freelance designers and ours are mostly freelance developers. Both lists keep asking how to work together without scope creep.

    Proposal: I write a piece for your blog on “how to brief a developer,” and you write one for ours on “how to brief a designer.” Each about 1,200 words, each linking back to the author’s site. We’d also feature yours in our newsletter, which goes to 9,000 subscribers.

    Here are two posts I’ve written recently, so you can judge the fit: [titles pasted]

    Interested?

    Rob

    Why it works: The trade is symmetrical and spelled out in two sentences. The topic idea already fits both audiences, and including writing samples answers the quality question before it’s raised.

    Before and after: rewriting a weak pitch

    Here’s a pitch that looks like thousands sent every day.

    Subject: Partnership opportunity

    Hi there,

    I hope this email finds you well! My name is Jake and I’m the founder of Taskwise, an innovative AI-powered productivity platform that is revolutionizing the way teams work. We’ve been featured in several publications and have a growing user base.

    I came across your website and think there could be some great synergies between our companies. We’d love to explore potential partnership opportunities, whether that’s co-marketing, integrations or something else.

    Let me know if you’d be open to a call to discuss!

    Best,
    Jake

    What’s wrong with it:

    • “Hi there” tells the reader it went to a list.
    • The first two sentences are about Jake, not the recipient.
    • “Innovative,” “revolutionizing” and “synergies” carry no information.
    • “Partnership opportunities… or something else” means Jake hasn’t done the thinking.
    • The ask is a call with no agenda, which is a big commitment for zero clarity.

    Here’s the rewrite.

    Subject: Taskwise + Plannly: shared calendar sync

    Hi Ruth,

    Your changelog last week mentioned that calendar sync is the top request on your roadmap board. About a third of our 6,000 users also use Plannly, and they ask us for the same thing.

    We’ve already built two-way sync with Google and Outlook calendars. We could expose it to Plannly through a lightweight integration, with no engineering needed on your end beyond OAuth approval.

    Would a 20-minute walkthrough next Tuesday or Wednesday be useful?

    Jake

    The rewrite is about the same length. Every sentence now carries information, the opening is about Ruth’s roadmap, and the proposal is specific enough to say yes or no to.

    Following up without being annoying

    The Backlinko data shows at least one follow-up lifts responses by nearly two-thirds. Most replies to cold outreach still come from the first email, and each follow-up brings in fewer, but those later replies come from people who saw your pitch, meant to reply and forgot.

    A cadence that works for most sales pitches:

    Email Timing What it does
    1. Pitch Day 0 Full hook, value, ask
    2. Nudge Day 3-4 Reply in the same thread, one or two lines, a new detail
    3. Value add Day 8-10 Share a relevant resource or result
    4. Breakup Day 15-20 Close the loop politely (Example 5)

    For journalists, one follow-up is the norm. Send it three to five days later and only if you have something to add, like a new data point, a confirmed interview slot or a timely news peg. “Just checking you saw this” adds nothing. A reporter who wanted it would have replied.

    For partnerships, one or two follow-ups over two weeks is fine. If you have a mutual connection, the second follow-up is the moment to ask them for a warm intro instead.

    A follow-up that adds something:

    Hi Elena,

    One addition to my webinar note: we just confirmed our VP of Customer Success as a speaker. She ran onboarding at a 2,000-seat rollout last year and has some good stories. Still keen if June works for your team.

    James

    Always reply in the same thread so the original pitch stays visible. And keep your sign-off consistent. A clean signature with name, role, company and one way to reach you looks more credible than a banner ad. If yours needs work, our email signature examples are a good place to steal from.

    Get your pitches into the inbox

    The best pitch in the world does nothing in a spam folder. Cold pitches are risky for deliverability because recipients haven’t asked for your email, and mailbox providers judge you on how people react.

    Send from your own authenticated domain

    Pitching from a free Gmail or Outlook address looks amateur to journalists and buyers, and you can’t authenticate it properly. Set up domain email on your company’s own address first. Then publish the three authentication records Gmail, Yahoo and Microsoft check.

    Setup steps

    1. Create a mailbox on your company domain in Google Workspace, Microsoft 365 or your host.
    2. Add an SPF record listing every service that sends mail as your domain.
    3. Turn on DKIM signing in your mail provider’s admin console and publish the key it gives you.
    4. Publish a DMARC record starting at p=none with reporting turned on.
    5. Send a test to a Gmail address, open Show original and confirm SPF, DKIM and DMARC all say PASS.

    An SPF record for a domain that sends through Google Workspace looks like this. If you send through other services too, add their include statements to the same single record.

    example.com.  TXT  "v=spf1 include:_spf.google.com ~all"
    

    DKIM is a public key published at a selector your provider names. In Google Workspace, you generate it under Admin console > Apps > Google Workspace > Gmail > Authenticate email.

    google._domainkey.example.com.  TXT  "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."
    

    A starter DMARC record monitors without blocking anything and sends aggregate reports to an address you control:

    _dmarc.example.com.  TXT  "v=DMARC1; p=none; rua=mailto:[email protected]"
    

    Once reports show all your legitimate mail passing, move to p=quarantine and then p=reject to stop others spoofing your domain.

    The sender rules you’re working under

    Provider Effective date Rules that matter for pitching
    Gmail (all senders) February 1, 2024 SPF or DKIM, valid forward and reverse DNS, TLS, spam rate kept below 0.3% (Google advises under 0.1%)
    Gmail (5,000+ messages a day to Gmail accounts) February 1, 2024, with one-click unsubscribe required from June 1, 2024 SPF, DKIM and DMARC (p=none minimum), From domain aligned with SPF or DKIM, one-click unsubscribe on marketing mail
    Yahoo (bulk senders) February 2024 SPF, DKIM, DMARC, spam rate below 0.3%, one-click unsubscribe, unsubscribes honored within 2 days
    Microsoft Outlook.com, Hotmail, Live (5,000+ messages a day) May 5, 2025 SPF, DKIM and DMARC (p=none minimum) aligned with SPF or DKIM; non-compliant mail first routed to Junk, with rejection to follow

    Most individual pitching never reaches 5,000 messages a day. Meet the bulk-sender rules anyway. Authentication costs nothing, and a single spam complaint from a cold pitch counts against you whatever your volume.

    Keep volume human

    Mailbox providers also cap how much one account can send. Google lists 500 messages a day for a free Gmail account and 2,000 per user for paid Google Workspace (limits as published by Google in 2025, lower during trials). Microsoft 365 caps most mailboxes at 10,000 recipients a day. Stay far below those. Pitching is a one-to-one activity, and 20 to 50 carefully researched emails a day is a sensible ceiling for a single sender.

    Don’t run cold pitches through your newsletter tool either. Most small business email platforms, Mailchimp included, prohibit sending to contacts who haven’t opted in, and they will suspend your account for it.

    Deliverability risk

    Bounce rates above 2% or a burst of spam complaints from one cold campaign can push your whole domain into spam, including invoices and password resets. Verify every address before you send, and never pitch purchased or scraped lists.

    High-volume sales teams often send outreach from a subdomain, such as mail.example.com, so a bad campaign doesn’t drag down the main domain. That’s reasonable for sales. For PR and partnership pitches, send from a real person’s mailbox on your main domain. A reporter who sees an unfamiliar lookalike domain has every reason to be suspicious.

    The legal rules for cold pitches

    Cold email is legal in many places when done right, but the rules vary by where the recipient is. A media pitch about genuine news is arguably not “commercial” under some laws. Sales and partnership pitches clearly are. The safe approach is to treat every pitch as if the rules apply.

    Law Where What it requires for cold B2B pitches Penalties
    CAN-SPAM Act United States Accurate From and subject lines, your physical postal address, a clear way to opt out, opt-outs honored within 10 business days; applies to B2B email too Up to $53,088 per violating email (FTC’s January 2025 inflation adjustment)
    GDPR EU and UK A lawful basis (legitimate interest is common for B2B), telling people where you got their data, honoring objections promptly Up to €20 million or 4% of global annual turnover (UK: £17.5 million)
    PECR / national ePrivacy rules UK and EU member states UK allows cold email to corporate addresses with an opt-out; sole traders and individuals need consent. Several EU countries, including Germany, are much stricter Set by national regulators
    CASL Canada Consent required; implied consent can apply when an address is conspicuously published, carries no “no unsolicited email” notice and your message is relevant to the person’s role. Identify yourself and include an unsubscribe Up to C$10 million per violation for businesses

    This isn’t legal advice. For any outreach program beyond a handful of personal pitches, have a lawyer review your process for the countries you target. A short line at the bottom of sales pitches costs you nothing and keeps you on the right side of most of these rules. “Not relevant? Reply ‘no thanks’ and I won’t email again” works well.

    Metrics worth tracking

    Open rates are a weak signal for pitches. Apple Mail Privacy Protection, launched with iOS 15 in September 2021, preloads tracking pixels and inflates opens. Tracking pixels can also hurt deliverability on low-volume cold email. Many experienced outreach teams turn open tracking off entirely. Watch these instead:

    • Reply rate: replies divided by delivered emails. Compare it to the 8.5% Backlinko average with caution, since that data is from 2019.
    • Positive reply rate: replies that move things forward, such as a meeting, an interview or a “send me the data.” This is the number that matters.
    • Outcome rate: meetings booked, articles published, partnerships signed per 100 pitches.
    • Bounce rate: keep it under 2%. Above that, your list research needs fixing.
    • Spam complaint rate: check Google Postmaster Tools if you send enough volume to see data, and keep it under 0.1%.

    Review results by pitch type and angle, not just in aggregate. You’ll usually find one angle, often the trigger event or exclusive data pitch, outperforming everything else by a wide margin. Double down on it.

    FAQ

    What is an email pitch?

    An email pitch is a short, personalized message asking someone to take one specific action. That might be a sales meeting, press coverage or a partnership. It differs from a newsletter or announcement because it’s written for one recipient and built around a reason they in particular should care.

    How long should a pitch email be?

    Aim for 75 to 150 words for sales and partnership pitches, and up to about 200 words for a media pitch that includes data. If the recipient has to scroll on a phone, it’s too long. Move detail into a follow-up or a one-page document they can request.

    What are good email pitching examples for beginners?

    Start with the typo email (Example 4) and the related story email (Example 8). Both are built on something you can verify, a real error or a real article. You don’t need a big brand or impressive results to make them work, only careful research.

    How many follow-ups should I send?

    For sales, two or three follow-ups over two to three weeks, ending with a breakup email. For journalists, one follow-up after three to five days, and only with new information. Stop immediately if anyone asks you to.

    Should I attach a press release or pitch deck?

    No, at least not in the first email. Attachments from unknown senders trigger spam filters, and many recipients won’t open them for security reasons. Paste the key facts into the body and offer the full document if they’re interested.

    When is the best time to send a pitch?

    Send during the recipient’s working hours, early in their week, and avoid Friday afternoons and holidays. For journalists, morning sends tend to fit editorial planning better than late-day pitches. Timing matters much less than relevance, though. A well-aimed pitch sent at a bad time beats a generic one sent at the perfect minute.

  • What Is an ESP in Email Marketing and What Does It Do

    What Is an ESP in Email Marketing and What Does It Do

    An ESP (email service provider) is the software company that sends your marketing and transactional email at scale, on infrastructure built to reach the inbox. It stores your subscriber list, gives you tools to design and schedule messages, handles unsubscribes and authentication, and reports on what happened after you hit send. If you plan to email more than a few hundred people at once, you need one.

    Stands forEmail service provider
    Main jobSending bulk email reliably
    Who needs oneAnyone emailing a list
    Key setupSPF, DKIM, DMARC

    What is an ESP in email marketing?

    In email marketing, an ESP is a platform that lets you build a list, write campaigns and deliver them to thousands or millions of inboxes. Mailchimp, Klaviyo, MailerLite, Brevo and Kit are ESPs. So are developer-focused services like SendGrid, Postmark and Amazon SES.

    When people search “what is an ESP” or “ESP email,” this is almost always what they mean. The term sits at the centre of email marketing, because every newsletter, abandoned cart reminder and password reset you receive passed through one.

    The “provider” part matters. You are renting sending infrastructure: mail servers, IP addresses, bounce processing and a team that negotiates with Gmail, Yahoo and Microsoft on behalf of thousands of customers. You could build that yourself. Almost nobody should.

    Other things ESP stands for

    The acronym collides with a few other fields, which is why the search results look strange:

    • Education Support Professionals: the term the National Education Association uses for school staff such as paraprofessionals, bus drivers and food service workers.
    • English for Specific Purposes: a branch of language teaching.
    • Electronic Stability Program: a car safety system.
    • Extrasensory perception: the psychic kind.

    If you landed here looking for any of those, this article will not help. If you came for “ESP in marketing” or “ESP marketing,” you are in the right place. Marketers almost never use ESP to mean anything except email service provider.

    The 7 jobs an ESP does for you

    1. Stores and manages your contacts

    Your list lives in the ESP, along with each person’s sign-up date, source, consent record and any custom fields (first name, last purchase, plan type). Good list management means you can segment by behaviour, suppress people who bounced and prove consent if a regulator asks.

    2. Collects new subscribers

    Most ESPs give you sign-up forms, pop-ups and landing pages, plus double opt-in confirmation. That last feature is worth turning on. It keeps typos and fake addresses off your list from day one.

    3. Builds the email itself

    Drag-and-drop editors, templates, image hosting and HTML editing are standard. Better tools also preview how your content renders in different email clients and on mobile, which saves you from the broken layouts that kill click rates.

    4. Sends at scale without getting blocked

    Sending is the core job. An ESP throttles delivery so Gmail does not see 50,000 messages arrive in one second, retries soft bounces, and routes mail through IP addresses with an established reputation. It also processes feedback loops, so when someone hits “report spam” at a mailbox provider that offers one, that person stops getting your mail.

    5. Automates messages

    Welcome series, abandoned cart flows, birthday emails, re-engagement sequences. You build the logic once and the ESP triggers each message when a subscriber does (or fails to do) something. For ecommerce, automated flows often earn more revenue per send than one-off campaigns.

    6. Keeps you compliant

    The ESP adds an unsubscribe link, processes opt-outs automatically and inserts your physical mailing address, both of which CAN-SPAM requires. Under GDPR, it helps you store consent records and delete data on request. It cannot make an illegal list legal, but it removes most of the paperwork.

    7. Reports on results

    Delivered, bounced, opened, clicked, unsubscribed, complained, and on ecommerce platforms, revenue. Treat open rates with caution: Apple Mail Privacy Protection (launched in 2021) preloads images and inflates opens for anyone using Apple Mail. Clicks, conversions and complaint rates tell you far more.

    Why you can’t just use Gmail or Outlook

    7 Jobs an ESP Does

    Personal and workplace mailboxes are built for one-to-one conversation. They have hard daily caps, and they will lock or suspend accounts that look like they are blasting a list.

    Service Daily recipient limit Per-message limit Built for bulk?
    Gmail (free account) 500 recipients 500 No
    Google Workspace 2,000 recipients 2,000 total (500 external) No
    Outlook.com 5,000 recipients 500 No
    Microsoft 365 (Exchange Online) 10,000 recipients 500 No
    A typical ESP Set by your plan, often unlimited Whole list Yes

    Limits as published by Google and Microsoft in their help documentation; they can change, and new accounts may face lower caps.

    Volume is only part of the problem. Paste 200 customer addresses into CC in email and you have just shared every address with every recipient, which is a privacy breach under GDPR. Using BCC hides the addresses, but you still have no unsubscribe handling, no bounce processing and no reporting. One bad send can also drag down the reputation of the domain your staff use for everyday mail.

    The sender rules that made ESPs non-negotiable

    In October 2023, Google and Yahoo announced new requirements for bulk senders, with enforcement starting in February 2024. Microsoft later introduced similar rules for Outlook.com, Hotmail and Live addresses. These rules are why “I’ll just send it myself” stopped being a realistic option.

    Requirement Gmail Yahoo Microsoft (Outlook.com)
    Applies to 5,000+ messages/day to Gmail Bulk senders 5,000+ messages/day
    SPF and DKIM Required Required Required
    DMARC At least p=none, aligned At least p=none At least p=none, aligned
    One-click unsubscribe Required (RFC 8058), from June 2024 Required Functional unsubscribe expected
    Honour opt-outs Within 2 days Within 2 days Promptly
    Spam complaint rate Below 0.3% (aim for under 0.1%) Below 0.3% Not published as a number
    Enforcement start February 2024 February 2024 May 5, 2025

    Any decent ESP handles one-click unsubscribe headers for you. Authentication is a shared job: the ESP gives you DNS records, and you publish them on your domain. Here is what that typically looks like.

    An SPF record authorises your sending services (this example combines Google Workspace and SendGrid):

    example.com.  TXT  "v=spf1 include:_spf.google.com include:sendgrid.net ~all"
    

    DKIM is usually a CNAME pointing to a key the ESP hosts and rotates (selector and host vary by provider):

    s1._domainkey.example.com.  CNAME  s1.domainkey.u1234567.wl.sendgrid.net.
    

    A starter DMARC policy that monitors without blocking anything:

    _dmarc.example.com.  TXT  "v=DMARC1; p=none; rua=mailto:[email protected]"
    

    Once your reports show legitimate mail passing, move to p=quarantine and eventually p=reject.

    Deliverability risk

    Sending from a shared ESP domain or without your own DKIM gets you filtered fast. Authenticate your own domain before your first campaign.

    These records feed directly into how e-mail spam filtering at the big mailbox providers decides whether you land in the inbox, the Promotions tab or spam.

    ESP vs CRM vs CDP vs MTA

    Gmail vs ESP Sending Limits Comparison Table

    People mix these up constantly, partly because vendors keep bolting features onto each other.

    Tool What it does Examples Sends email?
    ESP Stores subscribers, builds and sends campaigns and automations Mailchimp, Klaviyo, Brevo Yes, its main job
    CRM Tracks customer relationships, sales pipeline and deals Salesforce Sales Cloud, HubSpot CRM, Pipedrive Usually one-to-one only, or via a connected ESP
    CDP Unifies customer data from every source into one profile Segment, Bloomreach, Klaviyo’s CDP No, it feeds the ESP
    MTA The server software that actually relays mail Postfix, PowerMTA Yes, but with no marketing tools

    The lines blur. HubSpot sells marketing email inside its platform. Klaviyo now markets itself as a CDP with email and SMS on top. The question to ask is simple: which tool actually sends your mail and owns your sending reputation? That is your ESP.

    Types of ESPs

    Not every provider targets the same customer. Picking from the wrong category is the most common mistake I see.

    Category Best for Examples Typical pricing model
    Small business and creator Newsletters, simple automations Mailchimp, MailerLite, Kit, Brevo By contacts, free tiers common
    Ecommerce Shopify and WooCommerce stores Klaviyo, Omnisend By contacts, revenue reporting built in
    Enterprise marketing clouds Large brands, multiple channels Salesforce Marketing Cloud, Braze, Bloomreach Annual contracts, custom quotes
    Transactional and API Receipts, password resets, app notifications Postmark, SendGrid, Mailgun, Amazon SES By volume sent

    Amazon SES shows how cheap raw sending can be: $0.10 per 1,000 emails at its standard published rate. You pay for that low price with zero templates, list management or friendly interface. Developers wire it up using APIs and webhooks, which let the ESP push bounce, open and click events back to your own application in real time.

    For a closer look at the first category, our roundup of small business email platforms compares the main options side by side.

    How to choose the right ESP for your business

    Start from what you send, not from feature lists. A store owner needs product feeds and cart flows. A writer needs a clean editor and paid subscription support. A SaaS company needs a fast transactional API and probably a separate marketing tool.

    Choosing an ESP

    1. List every email type you send: newsletters, promotions, receipts, onboarding.
    2. Count your contacts and expected monthly sends for the next 12 months.
    3. Shortlist providers in the right category for your business model.
    4. Check native integrations with your store, CRM or sign-up forms.
    5. Confirm custom domain authentication with your own DKIM.
    6. Price each option at your projected list size, not today’s.
    7. Run a real campaign on a free tier or trial before committing.

    A few things matter more than people expect:

    • Pricing curves. Contact-based pricing feels cheap at 500 subscribers and can climb steeply at 50,000. Some ESPs also bill for unsubscribed contacts you keep on file.
    • Data export. You should be able to download your full list, tags and engagement history at any time.
    • Support. Free plans often get email support only. If a deliverability problem hits during a launch, that matters.
    • Dedicated vs shared IPs. Shared IPs suit most senders under roughly 100,000 emails a month. Dedicated IPs only help if you send enough volume to build their reputation.

    Inbox tip

    Send your first campaigns only to people who opened or clicked in the last 90 days. Strong early engagement builds reputation on a new ESP far faster than blasting the full list.

    When to switch ESPs

    Switching is a real project, so do it for a real reason. Good reasons include outgrowing the automation tools, pricing that has jumped past what the platform earns you, missing integrations your business now depends on, or persistent deliverability problems that support cannot explain.

    A bad reason is a single disappointing campaign. Deliverability is mostly about your list quality and engagement, and those problems follow you to any platform.

    If you do move, plan for these steps:

    • Export everything, including suppression lists (unsubscribes, bounces, complaints). Importing those people into the new tool as active contacts is a fast route to complaints.
    • Rebuild automations before you switch off the old ones, so nobody falls into a gap.
    • Publish the new provider’s SPF and DKIM records before your first send, and remove the old ones once you have fully cut over.
    • Warm up gradually. Start with your most engaged segment and increase volume step by step; a new dedicated IP typically needs four to eight weeks.
    • Watch Google Postmaster Tools and your complaint rate daily for the first month.

    FAQ

    What are ESPs in simple terms?

    ESPs are companies that send email on your behalf to large lists. They give you the tools to collect subscribers, design emails, automate sends and track results, plus the infrastructure to get those emails delivered.

    Is Gmail an ESP?

    No. Gmail is a mailbox provider, the service where people receive and read email. ESPs send into Gmail. Google’s own bulk sending rules are aimed at ESPs and the businesses using them.

    Do I need an ESP for a small list?

    If you are emailing a list of subscribers rather than individual contacts, yes. Even at 100 people, you need unsubscribe handling and consent records to stay within CAN-SPAM and GDPR, and many ESPs offer free plans for small lists.

    Can I use more than one ESP?

    Yes, and many businesses do. A common setup pairs a marketing ESP for newsletters and promotions with a transactional service for receipts and password resets, often on separate subdomains so one stream cannot hurt the other’s reputation.

    What does an ESP cost?

    It ranges from free tiers for small lists to six-figure annual contracts for enterprise platforms. Most small business tools charge monthly based on contact count, while transactional services usually charge per thousand emails sent.

  • SpamAssassin Score Explained and How to Lower It

    SpamAssassin Score Explained and How to Lower It

    A SpamAssassin score is the total of points a message collects from hundreds of spam tests. Positive points look spammy, negative points look legitimate, and on a default install anything scoring 5.0 or higher gets flagged as spam. You lower your score by fixing the specific rules your message triggers, and those rules are listed in the message headers.

    Default threshold5.0 points
    Higher score meansMore likely spam
    Biggest quick winsSPF, DKIM, reverse DNS
    Where to read itX-Spam-Status header

    What a SpamAssassin Score Actually Is

    Apache SpamAssassin is an open-source spam filter maintained by the Apache Software Foundation. It has been around since the early 2000s, and the current major release is the 4.0 branch, first shipped in December 2022. You rarely interact with it directly. It runs behind the scenes on web hosting servers, cPanel accounts, university mail systems, corporate gateways and plenty of self-hosted mail setups.

    SpamAssassin does not give a message a yes-or-no verdict straight away. It runs the message through a large set of rules, and each rule that matches adds or subtracts a fixed number of points. Then it compares the total against a threshold called required_score.

    How the points add up

    Think of it as a ledger. A missing Message-ID header might add some points. A link to a domain on a spam blocklist adds a lot. A valid DKIM signature from the sending domain subtracts a fraction of a point. The final number is just the sum.

    A few properties of this system matter when you try to lower a score:

    • Most rules are worth less than one point. A message usually crosses 5.0 because it trips several medium rules together, not because of one catastrophic error.
    • A handful of rules carry heavy weight. Blocklist hits on your sending IP or your linked domains can push you near the threshold on their own.
    • Negative rules are small. Passing SPF or DKIM earns almost nothing. The real value of authentication is avoiding the failure rules, which cost far more.
    • Scores change over time. Rule scores are regenerated from large mail corpora and distributed through sa-update, so the same message can score differently six months later.

    SpamAssassin also uses four “score sets,” depending on whether Bayesian filtering and network tests are enabled on that server. The same rule can carry a different weight on a host with network checks turned on than on one running offline. This is one reason your score on a testing tool rarely matches your score on a recipient’s server exactly.

    Reading the X-Spam headers

    When SpamAssassin scans a message, it adds headers you can see by viewing the raw source (in most clients, “Show original,” “View source” or “Message details”). A typical result looks like this:

    X-Spam-Checker-Version: SpamAssassin 4.0.0 on mail.example.com
    X-Spam-Level: *
    X-Spam-Status: No, score=1.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
        DKIM_VALID_AU,HTML_MESSAGE,MIME_HTML_ONLY,SPF_HELO_NONE,SPF_PASS
        autolearn=no autolearn_force=no version=4.0.0
    

    Here is what each part tells you:

    Header What it means
    X-Spam-Status Yes or No verdict, the score, the threshold and every rule that matched
    X-Spam-Level One asterisk per whole point, handy for simple folder filters
    X-Spam-Flag: YES Added only when the message crossed the threshold
    X-Spam-Report Optional detailed breakdown with points per rule, if the admin enabled it
    X-Spam-Checker-Version SpamAssassin version and the server that scanned it

    The tests= list is your to-do list. Every rule name in it is documented, and each one points to something specific about your sending setup or content.

    How the SpamAssassin Spam Filter Processes a Message

    People often treat SpamAssassin as the thing that deletes their mail. It is better to think of processing as two separate stages, because the second stage is usually configured by someone else.

    Stage one: scoring

    The mail server hands the incoming message to SpamAssassin, commonly through the spamd daemon and its spamc client, or through a wrapper like amavisd-new or MIMEDefang. SpamAssassin runs its header, body, URI, network and Bayesian tests, adds up the points and writes the headers shown above.

    At this point nothing has been blocked. The message has simply been labelled. Depending on configuration, SpamAssassin may also rewrite the subject line (for example adding *****SPAM*****) using the rewrite_header Subject setting.

    Stage two: acting on the score

    Something else decides what happens next. That might be:

    • The mail server rejecting messages above a very high score during the SMTP conversation
    • A hosting panel moving flagged mail into a spam folder
    • A Sieve or procmail rule filing anything with X-Spam-Flag: YES
    • An auto-delete rule that silently discards mail above a chosen score

    That last option is where legitimate mail disappears without a trace. If your recipients’ host auto-deletes at a low score, your message never even reaches a junk folder. If you want the bigger picture of how these layers interact with other filters, our guide on how email spam filters work and why messages get caught covers the full chain.

    What mail gets checked for spam

    Not every message gets scanned, and that surprises a lot of admins.

    • Size limits. spamc skips messages larger than its size cap, which defaults to 500 KB. Big attachments often pass through unscored.
    • Trusted and internal networks. Mail from IPs listed in trusted_networks or internal_networks is treated differently, and many setups skip scanning for authenticated users sending outbound.
    • Per-account toggles. On shared hosting, spam filtering is often off until the account owner turns it on.
    • Outbound mail. Some providers scan outgoing mail too, to catch compromised accounts before they damage the server’s reputation.

    So if you see no X-Spam headers at all, the message may simply never have been checked.

    The Rules That Decide Your Score

    X-Spam Header Breakdown

    SpamAssassin ships with several rule types. Knowing which family a rule belongs to tells you where to look for the fix.

    Header tests

    Header rules inspect the envelope and message headers. These are the ones senders trip most often through misconfiguration rather than spammy intent.

    From: header. Rules look at whether the From address uses a free webmail domain, whether the display name contains an address that differs from the real one, and whether the header is oddly encoded. FREEMAIL_FROM fires when bulk mail comes from addresses like gmail.com or yahoo.com, and FROM_EXCESS_BASE64 catches unnecessarily encoded From lines.

    To: header. A missing To header, an “undisclosed recipients” placeholder, or a To address that does not match the actual recipient can all add points. Mail that looks like one copy blasted to everyone is a classic spam signal.

    Cc: header. Long Cc lists full of addresses from the same domain look like address harvesting. Legitimate bulk email marketing sends one message per recipient, which keeps Cc empty.

    Subject: header. All-caps subjects (SUBJ_ALL_CAPS), heavy punctuation, empty subjects and known spam phrases trigger rules here. One shouted word rarely hurts. A subject like “FREE!!! ACT NOW” stacks several small penalties.

    Date: header. MISSING_DATE and the DATE_IN_FUTURE_* and DATE_IN_PAST_* family catch messages with no date or a date far from when the message was received. A server with a broken clock or a script building messages by hand is the usual cause.

    Other header rules worth knowing: MISSING_MID (no Message-ID), RDNS_NONE (the connecting IP has no reverse DNS), and FREEMAIL_FORGED_REPLYTO (a free webmail Reply-To that differs from the From address, a common scam pattern).

    Body and URI tests

    Body rules scan the decoded text. They look for spam phrasing, hidden text such as HTML_FONT_LOW_CONTRAST, and structure problems. MIME_HTML_ONLY fires when there is no plain-text version. The HTML_IMAGE_RATIO_* and HTML_IMAGE_ONLY_* rules catch emails that are mostly one big image with little text.

    URI rules extract every link and check the domains. Linking to a domain on a URI blocklist is one of the fastest ways to gain points, and it does not matter that your own domain is clean. Public link shorteners and cheap tracking domains shared with spammers are frequent offenders.

    Network tests

    These rules query outside services in real time:

    • DNS blocklists such as Spamhaus check the sending IP. Rule names start with RCVD_IN_.
    • URI blocklists such as SURBL, URIBL and Spamhaus DBL check linked domains. Rule names start with URIBL_.
    • Collaborative checksum networks (Razor, Pyzor and DCC) compare a fingerprint of your message against messages other users reported as spam or seen in huge volume.

    A note for admins: if you see URIBL_BLOCKED in your headers, the blocklist refused your server’s DNS queries. This usually happens when a server uses a large public resolver such as 8.8.8.8, which the blocklists throttle. The rule itself scores almost nothing, but it means your URI checks are silently not working. Running a local recursive resolver fixes it.

    Bayesian filtering

    Bayesian filtering is the part of SpamAssassin that learns. It breaks messages into tokens (words, header fragments, URL pieces) and estimates how likely each token is to appear in spam versus legitimate mail on that specific server. The result lands in one of the BAYES_00 to BAYES_99 rules, where BAYES_00 means almost certainly ham and BAYES_99 means almost certainly spam.

    Some details that make Bayes behave the way it does:

    • It stays switched off until it has learned at least 200 spam and 200 ham messages, the defaults for bayes_min_spam_num and bayes_min_ham_num.
    • It can auto-learn. By default, messages scoring below 0.1 are learned as ham and messages scoring 12.0 or higher are learned as spam.
    • It is personal to the server or user. A message that hits BAYES_00 at one company can hit BAYES_80 at another whose users report similar newsletters as junk.

    For senders, Bayes is the hardest factor to control directly. Consistent sending and content people actually want to open keep you out of the high Bayes bands over time.

    How to Check Your SpamAssassin Score

    You have three practical ways to see your score before real recipients do.

    Send to a seed address and read the headers. If you have an account on a host running SpamAssassin (most cPanel hosts do), send your campaign there and open the raw source. This shows you exactly how that server scored you.

    Use a testing service. Mail-tester gives you a temporary address, scores the message with SpamAssassin and presents the result as a grade out of 10 alongside the rules that fired. Postmark runs a free Spamcheck API that accepts a raw message and returns a SpamAssassin score and rule breakdown as JSON, which is useful if you want to check templates automatically from a build pipeline or a webhook-driven workflow.

    Run it yourself. If you have SpamAssassin installed, save a raw message as a .eml file and run:

    spamassassin -t < message.eml
    

    The -t flag prints a report with points per rule. Add -D for verbose debug output when you need to see why a network test failed, and run spamassassin --lint after editing configuration to catch syntax errors.

    Inbox tip

    Test the exact message you plan to send, from the exact platform and domain you will send it from. A draft pasted into a test tool from your personal mail account will score completely differently.

    How to Lower Your SpamAssassin Score as a Sender

    SpamAssassin Score Ledger

    Work from the tests= list, biggest offenders first. In practice, the fixes fall into a predictable order.

    Lower your score in order

    1. Send a test and copy the full rule list from X-Spam-Status.
    2. Fix any authentication failures: SPF, DKIM, DMARC.
    3. Confirm your sending IP has matching reverse DNS.
    4. Check your IP and linked domains against blocklists.
    5. Add a plain-text part and balance images with text.
    6. Clean up subject lines and From details.
    7. Retest and compare the rule list.

    Fix authentication first

    Failure rules such as SPF_FAIL, SPF_SOFTFAIL and DKIM_INVALID cost real points, and they also hurt you with Gmail, Yahoo and Microsoft. SpamAssassin 4.0 also added a DMARC plugin, so failing DMARC can now show up in your score on updated servers.

    A basic SPF record for a domain that sends through Google Workspace and one email platform looks like this:

    example.com.  IN  TXT  "v=spf1 include:_spf.google.com include:sendgrid.net ~all"
    

    Swap the includes for the services you actually use, and keep it to one SPF record per domain. Multiple SPF records cause a permanent error, which counts as a failure.

    DKIM is published by your sending platform as a TXT or CNAME record at a selector it gives you:

    s1._domainkey.example.com.  IN  TXT  "v=DKIM1; k=rsa; p=MIIBIjANBgkqh...IDAQAB"
    

    A starter DMARC record that monitors without blocking:

    _dmarc.example.com.  IN  TXT  "v=DMARC1; p=none; rua=mailto:[email protected]"
    

    Since February 2024, Gmail and Yahoo require SPF, DKIM and at least a p=none DMARC policy from anyone sending more than 5,000 messages a day, and Microsoft began enforcing similar rules for Outlook.com in May 2025. Fixing these for SpamAssassin fixes them for the big providers too.

    Fix the server-level signals

    If you run your own mail server, make sure the sending IP has a PTR record that resolves back to the same hostname your server announces in HELO. RDNS_NONE and RDNS_DYNAMIC are common on cheap VPS setups. Also confirm the server clock syncs with NTP, which kills the date rules, and that your MTA generates a Message-ID. If you send from an application, route it through a proper relay on an authenticated SMTP port instead of having the app speak directly to recipient servers.

    Fix the content signals

    Content rules are usually the cheapest to fix and the most often ignored.

    • Always send multipart messages with both HTML and plain-text versions. Every serious sending platform does this automatically if you let it.
    • Avoid single-image emails. Put real text in the message and keep images supporting it.
    • Use your own domain for links and tracking where your platform supports it, and skip public link shorteners.
    • Drop hidden text, tiny fonts and white-on-white tricks. They trip specific rules.
    • Write subject lines in normal case with one exclamation mark at most.

    Common rules and how to fix them

    Rule What triggers it Fix
    MISSING_MID No Message-ID header Let your MTA or platform generate one
    MISSING_DATE, DATE_IN_FUTURE_* No date or a wrong clock Sync the server with NTP
    MIME_HTML_ONLY No plain-text part Send multipart/alternative
    HTML_IMAGE_RATIO_* Too many images, too little text Add real copy
    FREEMAIL_FROM Bulk mail from a webmail address Send from your own domain
    FREEMAIL_FORGED_REPLYTO Webmail Reply-To differs from From Use a Reply-To on your domain
    RDNS_NONE Sending IP has no PTR record Ask your host to set reverse DNS
    SPF_SOFTFAIL, SPF_FAIL Sender not in SPF record Add the service’s include
    DKIM_INVALID Signature broken in transit Check footers or relays modifying mail
    RCVD_IN_* Sending IP on a DNS blocklist Find the cause, then request delisting
    URIBL_* Linked domain on a URI blocklist Remove or replace the link
    SUBJ_ALL_CAPS Subject entirely in capitals Use normal casing

    Rules starting with T_ are testing rules with near-zero scores. You can ignore them unless they later get promoted.

    Deliverability risk

    Blocklist hits on your IP or links outweigh everything else. Purchased or scraped lists are the fastest way onto them, and no amount of content tweaking will rescue mail sent to addresses that never opted in.

    If you send through a shared platform and keep landing on IP blocklists, the problem may be your provider’s pool rather than you. Our roundup of the best email marketing platforms for small businesses compares providers on exactly that kind of infrastructure.

    Tuning SpamAssassin as an Admin or Mailbox Owner

    The other half of the search intent comes from people on the receiving end: either too much spam is getting through or legitimate mail is getting flagged. Here is how to adjust it.

    The customization form in your hosting panel

    On cPanel hosting, SpamAssassin settings live under cPanel » Email » Spam Filters. The interface typically offers:

    • A master toggle to process new emails and mark them as spam
    • An option to move new spam to a separate folder (the “Spam Box”)
    • An option to auto-delete spam above a score you choose
    • A spam threshold score setting
    • Additional configuration for allowed senders, blocked senders and custom rule scores

    Other panels such as Plesk and DirectAdmin offer similar forms with different labels. Under the hood, they all write the same SpamAssassin settings.

    Reducing the “required hits” needed to mark a message as spam

    Older versions and some hosting panels still call the threshold required_hits. Modern SpamAssassin uses required_score. Either way, it is the number that separates spam from ham, and the default is 5.0.

    Lowering it to 4 or 4.5 catches more spam but flags more legitimate mail. Raising it to 6 or 7 does the opposite. In local.cf (usually /etc/mail/spamassassin/local.cf, or /etc/spamassassin/local.cf on Debian and Ubuntu):

    required_score 4.5
    

    Change it in half-point steps and watch your spam folder for a week before going further. Never set auto-delete at the same score as your threshold. A safer pattern is to file anything at 5.0 or above into a spam folder and only auto-delete above 10 or 15, where false positives are rare.

    Welcomelisting senders

    SpamAssassin 4.0 renamed whitelists and blacklists to welcomelists and blocklists. The old option names still work for backward compatibility, but use the new ones for new configs.

    welcomelist_from [email protected]
    welcomelist_from *@trustedvendor.com
    

    A welcomelist hit triggers USER_IN_WELCOMELIST (formerly USER_IN_WHITELIST), which carries a large negative score and effectively guarantees delivery. That is also the danger. Spammers forge From addresses constantly, so a plain welcomelist_from on a big brand’s domain can wave through phishing. The safer option checks authentication first:

    welcomelist_auth *@trustedvendor.com
    

    This only applies when SPF or DKIM confirms the sender really is that domain. Use it for anything important. It is particularly useful for an internal newsletter or HR announcement that keeps getting flagged by your company’s own gateway because it is image-heavy and goes to everyone at once.

    Blocklisting senders

    blocklist_from *@spammydomain.example
    

    This triggers USER_IN_BLOCKLIST at +100 points. It works well for persistent senders who ignore unsubscribes. It works poorly against real spam campaigns, which rotate domains daily.

    Blocklisting recipients

    This one confuses people. blocklist_to matches the recipient address, not the sender:

    blocklist_to [email protected]
    

    It is useful for retired addresses or catch-all aliases that now receive nothing but spam. Any message sent to that address picks up a big penalty. There is also welcomelist_to for addresses such as abuse@ or postmaster@ that must receive spam samples without filtering.

    Overriding individual rule scores

    If one rule keeps hurting legitimate mail on your server, adjust it rather than changing the global threshold:

    score FREEMAIL_FROM 0.5
    score HTML_IMAGE_RATIO_02 0
    

    Setting a score to 0 disables the rule. Individual users can place the same settings in ~/.spamassassin/user_prefs if the admin allows user preferences. Keep a comment next to each override explaining why, because six months later nobody will remember.

    You can also write custom rules. A simple header rule looks like this:

    header   LOCAL_FAKE_INVOICE  Subject =~ /binvoices+overdueb/i
    score    LOCAL_FAKE_INVOICE  2.0
    describe LOCAL_FAKE_INVOICE  Subject claims an overdue invoice
    

    Prefix local rules with something like LOCAL_ so they never collide with official rule names.

    Keep rules updated and train Bayes

    Run sa-update on a schedule (daily is common) and restart spamd afterwards so new rules load. A server running rules from years ago misses current spam patterns and may score modern legitimate mail badly.

    Train Bayes with real mail from your own users:

    sa-learn --spam /path/to/spam-folder
    sa-learn --ham /path/to/inbox-folder
    

    Feed it balanced samples. Training only on spam skews the model and pushes legitimate mail into higher Bayes bands. Clear out a bloated spam folder first if you need to; the same approach you would use to bulk delete Gmail emails applies, keep a recent clean sample and remove the rest.

    Inbox tip

    Before training Bayes, check that your “ham” folder really is clean. A few misfiled spam messages in a small training set do more damage than having no Bayes at all.

    Why a Low Score Doesn’t Guarantee the Inbox

    This is the part most score checkers skip. Gmail, Yahoo and Microsoft do not run SpamAssassin on consumer mailboxes. They use their own machine-learning filters, sender reputation data and engagement signals. A message scoring -0.5 on mail-tester can still land in Gmail’s spam folder, and a message scoring 4 can land in the primary tab.

    Treat your SpamAssassin score as a technical health check. It reliably catches broken authentication, missing headers, blocklisted links and sloppy HTML. It cannot measure whether your recipients want your mail. For Gmail and Yahoo, the numbers that matter most are your spam complaint rate (keep it under 0.3%, and ideally under 0.1%), one-click unsubscribe support, and consistent sending from an authenticated domain.

    SpamAssassin still matters a great deal for B2B senders. Many business, university and hosting-provider inboxes sit behind SpamAssassin or gateways that borrow its rules. If your list is full of company domains, a clean score is close to essential.

    FAQ

    What is a good SpamAssassin score?

    Anything below 5.0 passes a default install, but aim for under 2.0 to leave room for servers with stricter thresholds or different score sets. A score at or below zero is excellent and usually means you are authenticated and triggering no meaningful content rules.

    Is a negative SpamAssassin score possible?

    Yes. Rules like DKIM_VALID_AU and SPF_PASS subtract small amounts, BAYES_00 subtracts more, and a welcomelist entry subtracts 100. Most well-configured legitimate mail scores close to zero or slightly negative.

    What is the difference between required_hits and required_score?

    They are the same threshold. required_hits is the older name, and required_score is the current one. Both default to 5.0, and hosting panels sometimes still show the older label.

    Why is my score different on mail-tester than on my client’s server?

    Each server uses its own SpamAssassin version, rule updates, score set, network tests, Bayes database and local overrides. Testing tools give you a useful baseline, not the exact score every recipient will calculate.

    Does SpamAssassin check attachments?

    It scans the message structure and can flag suspicious attachment types, but it is not an antivirus scanner. Many setups also skip messages above a size limit entirely, with spamc defaulting to 500 KB, so large attachments often bypass scoring altogether.

    Should I lower my spam threshold below 5?

    Only if spam is clearly getting through and you have checked that Bayes and network tests are working. Fixing URIBL_BLOCKED, updating rules and training Bayes usually do more than moving the threshold, and they carry far less risk of losing legitimate mail.

  • SMTP Ports Explained and Which One You Should Use

    SMTP Ports Explained and Which One You Should Use

    Use port 587 with STARTTLS for sending email from an app, website or mail client. Port 465 with implicit TLS is just as good if your provider supports it. Port 25 is the default SMTP port, but it is meant for server-to-server relay and is often blocked on home and cloud networks.

    Best defaultPort 587 (STARTTLS)
    Also securePort 465 (implicit TLS)
    Server relay onlyPort 25
    Fallback when blockedPort 2525

    Quick SMTP port reference

    Here is every SMTP port number you will run into, and what each is actually for.

    Port Encryption Main use Recommended?
    25 None or opportunistic STARTTLS Server-to-server relay (MTA to MTA) Only for mail servers
    587 STARTTLS (upgrade after connecting) Authenticated message submission Yes, the safe default
    465 Implicit TLS (encrypted from the start) Authenticated message submission Yes, if supported
    2525 Usually STARTTLS Unofficial alternative to 587 Fallback only

    What an SMTP port actually is

    SMTP (Simple Mail Transfer Protocol) is the protocol that sends mail. A port is the numbered “door” on a server that a connection knocks on. Your mail client, website plugin or app needs both the server hostname and the right port to hand off a message.

    SMTP only handles sending. Receiving and reading mail uses IMAP or POP3, which have their own ports (covered below).

    Port 25: the original default SMTP port

    SMTP Port Comparison Table Visual

    Port 25 is the default port for SMTP, defined back in the early 1980s. It is still how mail servers pass messages to each other across the internet. When Gmail delivers a message to a company’s mail server, it connects on port 25.

    The problem is that port 25 became the favourite of spam botnets. Infected home computers could connect directly to any mail server and blast junk. So many ISPs now block outbound port 25 on residential connections. Major cloud providers do too. Google Cloud blocks outbound port 25 to external addresses, and AWS restricts it on EC2 until you request removal.

    Deliverability risk

    Sending directly from a home or cloud IP on port 25 usually fails outright. If it gets through, receiving servers tend to treat residential IPs as spam sources.

    That is a big part of how e-mail spam filtering works: the sending IP’s reputation matters as much as the message itself.

    Port 587: your best bet for sending

    Port 587 is the official message submission port (RFC 6409). It exists so that clients and apps can hand mail to their own provider, with a login, separate from server-to-server relay on port 25.

    The connection starts in plain text. The client then issues the STARTTLS command, and the session upgrades to an encrypted one before your password is sent. Every major provider supports it, and ISPs rarely block it.

    If you only remember one SMTP port, make it 587.

    Port 465: SMTP over SSL/TLS

    STARTTLS vs Implicit TLS Diagram

    Port 465 has a messy history. It was assigned for SMTPS in the late 1990s, then revoked, but providers kept using it anyway. In 2018, RFC 8314 officially brought it back for message submission using implicit TLS.

    Implicit TLS means the connection is encrypted from the first byte. There is no plain-text phase and no upgrade step. RFC 8314 actually prefers this approach over STARTTLS, because a STARTTLS upgrade can in theory be stripped by an attacker on the network.

    In practice, both 465 and 587 are secure when configured correctly. Pick whichever your provider documents first.

    Port 2525: the unofficial fallback

    Port 2525 is not registered with IANA for SMTP. Transactional email services offer it anyway because some hosting companies block 25, 465 and even 587. If your server cannot reach your email service on standard ports, 2525 often gets through.

    Email service SMTP host Supported ports
    SendGrid smtp.sendgrid.net 25, 587, 2525 (STARTTLS); 465 (TLS)
    Mailgun smtp.mailgun.org 25, 587, 2525 (STARTTLS); 465 (TLS)
    Amazon SES email-smtp.[region].amazonaws.com 25, 587, 2587 (STARTTLS); 465, 2465 (TLS)

    Many small business email platforms hide these settings entirely and give you an API or plugin instead. If you are only doing email marketing through a hosted tool, you may never touch an SMTP port at all.

    SMTP server and port for Gmail, Outlook and other providers

    These are the common SMTP mail port settings for the big mailbox providers.

    Provider SMTP server Port Encryption
    Gmail / Google Workspace smtp.gmail.com 587 or 465 STARTTLS / SSL
    Outlook.com / Hotmail smtp-mail.outlook.com 587 STARTTLS
    Microsoft 365 smtp.office365.com 587 STARTTLS
    Yahoo Mail smtp.mail.yahoo.com 465 or 587 SSL / STARTTLS
    iCloud Mail smtp.mail.me.com 587 STARTTLS
    Zoho Mail smtp.zoho.com 465 or 587 SSL / STARTTLS

    Your normal account password usually will not work here. Gmail, Yahoo and iCloud expect an app password, which requires two-step verification, or an OAuth sign-in. Microsoft is retiring basic password authentication for SMTP, so plan on OAuth or an app password for Outlook and Microsoft 365 too.

    SMTP, IMAP and POP3 ports

    Setting up a mail client means entering both incoming and outgoing servers. Here is the full email port list.

    Protocol Job Plain / STARTTLS port Implicit TLS port
    SMTP Sending mail 587 (25 for relay) 465
    IMAP Reading mail, synced to server 143 993
    POP3 Downloading mail to one device 110 995

    For incoming mail, use 993 for IMAP or 995 for POP3. The unencrypted variants are rarely needed today.

    How to choose the right SMTP port

    Pick your port in four checks

    1. Check your provider’s help page for its documented SMTP port.
    2. Use 587 with STARTTLS if both 587 and 465 are listed.
    3. Switch to 465 with SSL/TLS if 587 times out.
    4. Try 2525 only if your email service supports it and both fail.

    Only use port 25 if you run a mail server that relays to other mail servers. Apps, websites and mail clients should never need it.

    How to tell if an SMTP port is blocked

    Test the connection before you blame your password. On macOS or Linux, open a terminal and run:

    nc -vz smtp.gmail.com 587
    

    On Windows, use PowerShell:

    Test-NetConnection smtp.gmail.com -Port 587
    

    A “succeeded” or “TcpTestSucceeded : True” result means the port is open. A timeout means something between you and the server is blocking it.

    To confirm encryption actually works, use OpenSSL. For port 587:

    openssl s_client -starttls smtp -connect smtp.gmail.com:587
    

    For port 465:

    openssl s_client -connect smtp.gmail.com:465
    

    You should see a certificate chain and a 220 greeting from the server. If the port is blocked, contact your ISP or hosting company. Most will unblock 587 on request. Very few will open port 25 for residential customers.

    Inbox tip

    If you can connect on 587 from your laptop but not from your web server, the block is at the host. Switch to 2525 or use your email service’s HTTP API instead.

    Common mistakes when setting the SMTP port

    Most “can’t send mail” tickets come down to a handful of errors:

    • Encryption mismatch. Choosing SSL on port 587 or STARTTLS on port 465. The client hangs, then times out. Match 587 with STARTTLS and 465 with SSL/TLS.
    • Using port 25 from an app. It gets blocked or lands in spam. Use 587.
    • Account password instead of an app password. You will see an authentication error like 535. Generate an app password.
    • Wrong hostname. smtp.office365.com and smtp-mail.outlook.com are not interchangeable for every account type.
    • Local firewall or antivirus. Some security suites intercept outgoing mail connections. Temporarily disable the email scanning feature to test.
    • No authentication enabled. Port 587 and 465 expect a username and password. Without them, the server rejects the message.

    Correct ports get mail out of your app. They do not guarantee inbox placement. That still depends on SPF, DKIM and DMARC records for your sending domain.

    FAQ

    How to find port for SMTP server?

    Check your email provider’s help documentation for “SMTP settings.” It will list the server name, port and encryption type. If you use a hosting company’s mailbox, the settings are usually in your control panel under email accounts. When in doubt, try 587 with STARTTLS first.

    Is SMTP always port 25?

    No. Port 25 is the default SMTP port for server-to-server relay. Mail clients and apps should send on port 587 with STARTTLS or port 465 with implicit TLS. Port 2525 is an unofficial alternative some services offer.

    What are the port numbers used for IMAP and POP3?

    IMAP uses port 143 (plain or STARTTLS) and port 993 (implicit TLS). POP3 uses port 110 (plain or STARTTLS) and port 995 (implicit TLS). Use the encrypted ports, 993 and 995, whenever possible.

    What is the difference between IMAP and POP3?

    IMAP keeps your mail on the server and syncs it across every device, so reading or deleting on your phone shows up on your laptop. POP3 downloads messages to one device and, by default, removes them from the server. IMAP is the better choice for almost everyone today.

    Which is more secure, port 465 or 587?

    Both are secure when configured correctly. Port 465 encrypts from the first byte, which RFC 8314 prefers. Port 587 upgrades to encryption with STARTTLS before any login details are sent. Use whichever your provider supports.

  • Best Email Marketing Platforms for Small Businesses

    Best Email Marketing Platforms for Small Businesses

    The best email marketing platforms for small businesses keep the bill small while your list is small. They also get your mail into the inbox under the Gmail, Yahoo and Microsoft sender rules, and they let you send a good-looking newsletter without hiring a designer. Below are ten platforms ranked for small teams, with pricing, free-plan limits, how each one bills you, and the specific type of business each one suits.

    Our top pick, in one paragraph

    MailerLite is the best email marketing platform for most small businesses. Its drag-and-drop editor is the easiest to learn on this list. The automation builder handles welcome series and abandoned carts without a manual. Landing pages, signup forms and a website builder are included, and paid plans start at $12 a month. It lacks a CRM and a native SMS-first setup. Most small teams don’t need either in year one.

    Top pickMailerLite
    Best for ecommerceKlaviyo
    Best for high volumeBrevo
    Best for creatorsKit

    If you run a Shopify store and expect email to drive a big share of revenue, skip to Klaviyo. If you send a lot of email to a modest list, look at Brevo first. It bills by emails sent, not by contacts.

    Quick comparison: best email marketing services for small businesses

    Prices below are US list prices from each vendor’s pricing page in 2025, for the smallest paid tier on monthly billing unless noted. Vendors change these often, so treat them as a starting point and confirm before you commit.

    Rank Platform Best for Free plan Paid plans from
    1 MailerLite Most small businesses Yes, up to 250 subscribers, 12,000 emails/month $12/month
    2 Brevo High send volume, transactional plus marketing Yes, 300 emails/day $9/month
    3 Klaviyo Shopify and ecommerce stores Yes, 250 active profiles, 500 emails/month $20/month
    4 Mailchimp Integrations and brand familiarity Yes, 250 contacts, 500 sends/month $13/month (Essentials)
    5 Kit (formerly ConvertKit) Creators, newsletters, digital products Yes, up to 10,000 subscribers About $33/month billed annually
    6 Constant Contact Local businesses, events, phone support No (free trial) $12/month (Lite)
    7 Omnisend Budget ecommerce, email plus SMS Yes, 250 contacts, 500 emails/month $16/month
    8 ActiveCampaign Advanced automation and sales follow-up No (14-day trial) $15/month billed annually
    9 Moosend Cheapest paid automation No (30-day trial) $9/month
    10 HubSpot Teams already using HubSpot CRM Yes, 2,000 sends/month with HubSpot branding $15/seat/month billed annually

    How we ranked these email platforms for businesses

    Top 10 Platforms Comparison Chart

    The ranking weighs the things that actually decide whether a small business sticks with a platform after the first three months. Feature count was not one of them.

    • Cost at your size, and at 5x your size. A cheap starting price means little if the next contact tier doubles your bill. We looked at how each platform counts what you pay for (more on that below, because it trips up a lot of owners).
    • Ease of use. Can a non-designer create a branded campaign in under an hour? Can one person run the whole thing?
    • Automation that a small team will actually use. Welcome series, abandoned cart, post-purchase, re-engagement. Branching logic matters more than a list of 200 triggers.
    • Deliverability tooling. Custom domain authentication (SPF, DKIM, DMARC alignment), automatic one-click unsubscribe headers, and list hygiene features. Every platform here handles the basics. Some make it much easier than others.
    • Integrations. Your store, your booking tool, your forms, your CRM. Native integrations beat Zapier workarounds for anything revenue-critical.
    • Support. Chat and email support on the plan you’ll actually be on, not only on the enterprise tier.

    Nothing here is ranked on affiliate payout, and no platform paid for placement.

    The 10 best email marketing platforms for small business

    1. MailerLite: best overall for small businesses

    Best forMost small businesses
    Free planUp to 250 subscribers
    Paid from$12/month
    StandoutClean editor, fair pricing

    MailerLite wins because it gets the fundamentals right at a price that stays reasonable as you grow. The drag-and-drop editor produces clean, mobile-friendly emails with very little fiddling. The automation builder is visual and covers the flows most small businesses need: welcome sequences, abandoned cart (with its Shopify and WooCommerce integrations), birthday or anniversary emails, and re-engagement.

    Beyond email, you get landing pages, pop-up and embedded forms, a basic website builder, and the ability to sell digital products and paid newsletter subscriptions. For a bakery, a consultancy or a small Shopify shop, that covers the full stack.

    Where it falls short: There’s no built-in CRM or sales pipeline, so B2B teams tracking deals will need a separate tool. Reporting is solid but not deep. Klaviyo’s revenue attribution is far ahead for ecommerce. MailerLite also reviews new accounts before approving them to send. That’s good for the platform’s deliverability, but it can slow your first campaign by a day or two if your signup forms or list source raise questions.

    Pricing: The free plan has covered fewer subscribers over the years, so check the current cap. Paid plans start at $12 a month for 500 subscribers and scale by subscriber count. The Advanced plan adds features like a custom HTML editor, promotion pop-ups and multiple triggers per automation.

    Choose it if you want one tool that handles newsletters, automations, forms and landing pages without a learning curve.

    2. Brevo: best for high send volume

    Best forFrequent senders
    Free plan300 emails/day
    Paid from$9/month
    StandoutBills by emails sent

    Brevo (it was called Sendinblue until 2023) flips the usual pricing model. You pay for the number of emails you send each month, not the number of contacts you store. If you have 8,000 contacts and email them twice a month, you’ll pay far less here than on a contact-based platform.

    It also covers more channels than most tools at this price. Brevo includes transactional email (order confirmations, password resets) through the same account, plus SMS and WhatsApp campaigns, a shared inbox for live chat, and a lightweight sales CRM. A small business that wants marketing email and receipts coming from one provider will appreciate that.

    Where it falls short: The editor is functional but feels busier than MailerLite’s. The free plan’s 300-emails-a-day cap means you can’t send one campaign to 1,000 people on the same day. Free and lower-tier emails also carry Brevo branding.

    Pricing: Free with 300 emails per day. Starter begins at $9 a month for a monthly email volume tier, and Business at $18 a month adds features like marketing automation without Brevo’s Starter limits, A/B testing and advanced statistics.

    Choose it if you have a large list that you email infrequently, or you want transactional and marketing email under one roof.

    3. Klaviyo: best for ecommerce stores

    Best forShopify stores
    Free plan250 active profiles
    Paid from$20/month
    StandoutRevenue attribution

    If you sell online, and especially on Shopify, Klaviyo is the platform the rest are measured against. It pulls in your product catalogue, order history and browsing behaviour, then lets you segment and personalise on that data. “Customers who bought twice, spent over $100, and haven’t ordered in 60 days” takes about a minute to build.

    The pre-built flows are where it pays for itself: welcome series, browse abandonment, abandoned cart, post-purchase cross-sell, win-back and back-in-stock. Each flow reports the revenue it drove. That makes it easy to see which emails earn their keep. SMS lives in the same platform, so you can coordinate both channels in one flow.

    Where it falls short: Price. Klaviyo gets expensive as your profile count grows, and it’s overkill for a service business with no product catalogue. The interface has a real learning curve. Its strength is data, so if your store data is thin, you won’t get much from it.

    Pricing: Free for up to 250 active profiles and 500 email sends a month. The Email plan starts at $20 a month, with SMS available as a separate plan or add-on. Klaviyo bills on active profiles, meaning contacts you can actually message. Suppressed contacts don’t count.

    Choose it if you run an ecommerce store and plan to make email a major revenue channel.

    4. Mailchimp: best for integrations and familiarity

    Best forBroad integrations
    Free plan250 contacts
    Paid from$13/month
    StandoutHuge app ecosystem

    Mailchimp is the name most small business owners know, and its integration library is still one of the largest in the category. Almost every booking tool, form builder, website platform and point-of-sale system connects to it. The template library is large. The editor is easy, and the AI-assisted content tools help if writing subject lines isn’t your strength.

    Paid plans add customer journeys (multi-step automations), A/B testing, and on Standard and above, predictive segments and send-time optimisation.

    Where it falls short: Value. Mailchimp’s free plan has shrunk to 250 contacts and 500 monthly sends (with a 250-a-day cap), and automation has been removed from the free tier entirely. Paid tiers cost more than MailerLite or Brevo for the same list size. It also counts unsubscribed and non-subscribed contacts toward your audience limit. If you don’t archive them regularly, you can pay for people you’re no longer allowed to email.

    Pricing: Free for 250 contacts. Essentials from $13 a month, Standard from $20 a month, Premium from $350 a month, all scaling with contact count.

    Choose it if a specific integration you depend on works best with Mailchimp, or your team already knows it well.

    5. Kit: best for creators and newsletters

    Best forCreators, coaches
    Free planUp to 10,000 subscribers
    Paid fromAbout $33/month
    StandoutTag-based subscribers

    Kit (renamed from ConvertKit in 2024) is built around a creator’s business: a newsletter, a lead magnet, a course or digital product, maybe paid subscriptions. Its subscriber model uses tags instead of separate lists. One person can be tagged “downloaded pricing guide” and “bought course” without being counted twice.

    The free Newsletter plan is unusually generous at up to 10,000 subscribers. It includes landing pages, forms, broadcasts and the ability to sell digital products. The Kit Recommendations network helps newsletters grow by cross-promoting each other.

    Where it falls short: Email design is deliberately simple. That suits text-heavy newsletters but disappoints product-led brands that want image-rich layouts. Automated sequences and visual automations need a paid plan. Ecommerce features are thin compared to Klaviyo or Omnisend.

    Pricing: Free up to 10,000 subscribers. The Creator plan starts around $33 a month billed annually for 1,000 subscribers (more on monthly billing). Creator Pro adds advanced reporting and subscriber scoring.

    Choose it if you’re a coach, writer, course creator or podcaster whose product is expertise rather than physical goods.

    6. Constant Contact: best for local businesses and events

    Best forLocal and nonprofit
    Free planNone, trial only
    Paid from$12/month
    StandoutPhone support, events

    Constant Contact has been doing this since the 1990s, and it shows in the support. Phone and chat help are available to small customers, which matters if you’re the owner, the marketer and the IT department all at once. Restaurants, gyms, churches, nonprofits and local retailers make up a big chunk of its customer base.

    It also handles event registration and ticketing, social media posting and simple surveys alongside email. For a business that runs workshops or community events, that bundle removes a second subscription.

    Where it falls short: No free plan. Templates feel dated next to MailerLite or Mailchimp. Automation on the Lite plan is limited, so you’ll need Standard for useful workflows.

    Pricing: Lite from $12 a month, Standard from $35 a month, Premium from $80 a month, scaling by contact count. A free trial is available.

    Choose it if you value a human on the phone more than the slickest interface, or events are central to how you grow.

    7. Omnisend: best budget pick for ecommerce

    Best forSmall online stores
    Free plan250 contacts
    Paid from$16/month
    StandoutEmail plus SMS, cheaper

    Omnisend sits between MailerLite and Klaviyo. You get pre-built ecommerce automations (cart abandonment, browse abandonment, order follow-up) and product blocks that pull straight from Shopify, WooCommerce or BigCommerce. Email and SMS run from the same workflow builder. For most stores under a few thousand customers, it covers what Klaviyo covers at a lower monthly cost.

    The editor is easy, and the product picker saves real time when you create promotional campaigns.

    Where it falls short: Segmentation and reporting are good but not as deep as Klaviyo’s. Integrations outside ecommerce are limited. A service business won’t get much from it.

    Pricing: Free for 250 contacts and 500 emails a month. Standard from $16 a month, Pro from $59 a month (Pro raises email limits and adds advanced reporting and more SMS credits).

    Choose it if you run a small store and want ecommerce automation without paying Klaviyo prices.

    8. ActiveCampaign: best for advanced automation

    Best forComplex automation
    Free planNone, 14-day trial
    Paid from$15/month annually
    StandoutDeep automation, CRM

    ActiveCampaign has the most capable automation builder among the email marketing services small businesses can realistically afford. Workflows can branch on almost anything: link clicks, site visits, purchase data, custom fields, lead scores. Higher plans include a sales CRM with deal pipelines, so a B2B service business can move a lead from “downloaded guide” to “booked call” to “proposal sent” in one system.

    It has hundreds of native integrations. It also supports outbound webhooks, so developers can push automation events into almost any other system.

    Where it falls short: The Starter plan is restrictive, and the features that make ActiveCampaign special (CRM, conditional content, landing pages) sit on Plus or higher. Expect a few weeks of learning before you’re comfortable. If all you send is a monthly newsletter, you’re paying for power you won’t use.

    Pricing: Starter from $15 a month billed annually for 1,000 contacts. Plus and Pro tiers cost substantially more and are where most growing teams end up.

    Choose it if you sell high-value services or B2B products and need email to follow up on leads automatically.

    9. Moosend: cheapest paid option with real automation

    Best forTight budgets
    Free planNone, 30-day trial
    Paid from$9/month
    StandoutLow cost automation

    Moosend, owned by Sitecore since 2021, gives you unlimited sends, an automation builder, landing pages and forms on its entry Pro plan for less than most competitors charge. The recipe library includes abandoned cart, welcome, and product recommendation flows. Setting one up takes minutes.

    Where it falls short: No free plan, a smaller integration library than Mailchimp or ActiveCampaign, and less brand recognition, which means fewer tutorials and community answers when you get stuck.

    Pricing: Pro from $9 a month for 500 subscribers, with a 30-day free trial.

    Choose it if you want paid-tier automation on a strict budget and don’t need a long integration list.

    10. HubSpot: best if you already use HubSpot CRM

    Best forHubSpot CRM users
    Free plan2,000 sends/month
    Paid from$15/seat/month
    StandoutNative CRM data

    HubSpot’s email tools are good. What makes them worth considering is that they sit on top of the free HubSpot CRM. If your sales team already logs calls and deals there, your emails can use that data directly, and every open and click lands on the contact’s timeline.

    The free tier includes marketing email up to 2,000 sends a month with HubSpot branding. Marketing Hub Starter removes the branding and raises limits.

    Where it falls short: Costs climb steeply once you need real automation, which lives on Marketing Hub Professional. Starter pricing is per seat. HubSpot bills on “marketing contacts,” so you’ll want to mark anyone you don’t email as non-marketing to keep the bill down.

    Pricing: Free tools available. Marketing Hub Starter from $15 per seat per month billed annually ($20 monthly).

    Choose it if HubSpot is already your CRM and you want email that talks to it without an integration.

    Top small business email marketing software by use case

    Your business Start with Runner-up Why
    Shopify or WooCommerce store, growing fast Klaviyo Omnisend Purchase-based segmentation and revenue reporting
    Small online store on a budget Omnisend MailerLite Ecommerce flows without Klaviyo pricing
    Local service business (salon, gym, clinic) MailerLite Constant Contact Easy editor, forms, low cost
    Restaurant, nonprofit, events-heavy Constant Contact Mailchimp Event tools and phone support
    Coach, writer, course creator Kit MailerLite Tag-based subscribers, generous free plan
    B2B services with a sales process ActiveCampaign HubSpot Lead scoring and CRM pipelines
    Large list, infrequent sends Brevo MailerLite Billing by volume, not contacts
    Absolute minimum spend on a paid tool Moosend Brevo Low entry price with automation

    How each platform counts what you pay for

    This is the single most overlooked factor when small businesses compare email marketing platforms, and it’s why two tools with the same “from” price can cost very different amounts a year later.

    Platform What you’re billed on Watch out for
    MailerLite Active subscribers Unsubscribed contacts don’t count, but clean out bounces anyway
    Brevo Emails sent per month Daily cap on the free plan; contacts stored aren’t the billing driver
    Klaviyo Active profiles Suppress unengaged profiles to drop a tier
    Mailchimp All contacts in the audience, including unsubscribed and non-subscribed Archive unsubscribes regularly or you pay for them
    Kit Subscribers Free plan cap is high, so the jump to paid comes from features, not size
    HubSpot Marketing contacts (plus seats on Starter) Set non-emailed contacts to non-marketing
    ActiveCampaign Contacts CRM and key automation features sit on higher tiers

    Here’s a concrete example. A clinic with 4,000 contacts that sends one newsletter a month sends about 4,000 emails. On Brevo, that fits comfortably into a low volume tier. On a contact-based platform, you’re priced at the 4,000-contact tier no matter how rarely you send. Flip it around: a shop with 1,500 contacts that emails three times a week sends roughly 18,000 emails a month. Contact-based pricing is usually the better deal there.

    How to choose the best email marketing software for a small business

    Skip the 40-row feature matrices. Answer these five questions, in order, and the list narrows itself.

    1. Do you sell physical products online? If yes, start with Klaviyo or Omnisend. Ecommerce data integration is the feature you’ll lean on most, and general tools do it less well.
    2. Do you have a sales process with deals and follow-ups? If yes, look at ActiveCampaign or HubSpot so email and CRM share data.
    3. How big is your list and how often will you email it? Big list plus low frequency points to Brevo. Small list and frequent sends points to contact-based tools.
    4. Who will build the emails? If it’s you, at 10pm, after closing, put the editor first. Use the free plan or trial to build one real campaign before you decide.
    5. What do you need to connect? List your must-have integrations (store, booking system, forms, CRM) and confirm each one is native, not a third-party bridge.

    Inbox tip

    Before you pick, sign up for each shortlisted platform’s free plan and send one real test campaign to your own Gmail and Outlook addresses. Look for where it lands, how it renders on your phone, and how long the build took you.

    Set up your platform so your email reaches the inbox

    Picking a platform is half the job. The other half is configuring it so mailbox providers trust your mail. Since February 2024, Gmail and Yahoo have required bulk senders to authenticate properly, and Microsoft added its own requirements for Outlook.com consumer addresses in May 2025. Every platform on this list supports these rules. None of them can set up your DNS for you.

    The current mailbox provider rules

    Provider Who it applies to In effect from Key requirements
    Gmail Senders of 5,000+ messages a day to personal Gmail accounts February 1, 2024, with one-click unsubscribe required by June 1, 2024 SPF and DKIM, DMARC published (p=none is acceptable), From domain aligned with SPF or DKIM, one-click unsubscribe honored within two days, spam rate below 0.3%
    Yahoo Bulk senders to Yahoo addresses February 2024 SPF and DKIM, DMARC published, one-click unsubscribe, low complaint rate
    Microsoft (Outlook.com, Hotmail, Live) Senders of 5,000+ messages a day to Microsoft consumer addresses May 5, 2025 SPF, DKIM and DMARC (at least p=none) with alignment; non-compliant mail goes to Junk, with rejection as the next step

    Even if you send far fewer than 5,000 messages a day, meet these rules anyway. Gmail’s baseline requirements for all senders include SPF or DKIM, valid reverse DNS and a TLS connection, and providers clearly favour authenticated mail. Most e-mail spam filtering now leans heavily on authentication results before it ever looks at your content.

    Setup steps

    1. Send from your own domain, never a free Gmail or Yahoo address.
    2. In your platform, open the domain authentication or sender settings page.
    3. Copy the DKIM records it generates into your DNS host.
    4. Add or update your SPF record if the platform asks for it.
    5. Publish a DMARC record starting at p=none.
    6. Click verify in the platform and wait for DNS to propagate.
    7. Send a test campaign and check the headers show DKIM and DMARC pass.

    The exact menu varies. In MailerLite it’s under Account settings, then Domains. In Mailchimp it’s Website, then Domains. In Klaviyo it’s Settings, then Domains, under the dedicated sending domain option. Brevo puts it under Senders, Domains and Dedicated IPs.

    What the records look like

    Your platform will give you the exact values. These examples show the structure so you know what you’re looking at.

    SPF is a single TXT record on your root domain. You can only have one, so if you already have an SPF record for Google Workspace or Microsoft 365, add the platform’s include to it rather than creating a second record:

    yourdomain.com.  TXT  "v=spf1 include:_spf.google.com include:spf.example-esp.com ~all"
    

    DKIM is usually one or two CNAME records that point to keys your platform manages:

    s1._domainkey.yourdomain.com.  CNAME  s1.domainkey.example-esp.com.
    s2._domainkey.yourdomain.com.  CNAME  s2.domainkey.example-esp.com.
    

    DMARC is a TXT record at _dmarc. Start in monitoring mode, read the reports for a few weeks, then tighten the policy:

    _dmarc.yourdomain.com.  TXT  "v=DMARC1; p=none; rua=mailto:[email protected]; adkim=r; aspf=r"
    

    Once your reports show all legitimate mail passing, move to p=quarantine and eventually p=reject. A reject policy is also a prerequisite for BIMI, which can show your logo next to your messages in supporting inboxes, though it typically requires a paid verified mark certificate.

    One-click unsubscribe is handled by your platform, which adds these headers to every campaign automatically:

    List-Unsubscribe: <https://example-esp.com/unsub/abc123>, <mailto:[email protected]>
    List-Unsubscribe-Post: List-Unsubscribe=One-Click
    

    Don’t remove or hide the unsubscribe link in your template to “reduce churn.” People who can’t unsubscribe hit the spam button instead, and that hurts you far more.

    Deliverability risk

    A spam complaint rate above 0.3% in Google Postmaster Tools puts your Gmail delivery at risk. Imported lists you didn’t collect yourself are the fastest way to get there.

    Troubleshooting common setup problems

    • Platform says the domain isn’t verified after a day. Check that your DNS host didn’t append your domain twice (s1._domainkey.yourdomain.com.yourdomain.com). Many DNS panels add the root domain automatically, so you only enter s1._domainkey.
    • DMARC fails even though SPF passes. SPF passes for the platform’s bounce domain, not yours, so it doesn’t align. Make sure DKIM is set up for your domain; aligned DKIM alone satisfies DMARC.
    • Two SPF records. Merge them into one. Two records cause SPF to return a permanent error.
    • Emails land in Promotions. That’s a tab, not spam. Image-heavy promotional layouts land there by design. A plainer layout and a reply-inviting tone help for relationship emails.

    What to send in your first 30 days

    A new platform and an empty automation tab can stall a small business for months. Build these three things first, in this order.

    1. A welcome email or short series. It goes out the moment someone subscribes, when interest is highest. Deliver whatever you promised (discount code, guide, checklist), say what you’ll send and how often, and ask one simple question they can reply to. Replies are a positive engagement signal for mailbox providers.

    2. One automation that maps to money. For a store, that’s abandoned cart. For a service business, it’s a follow-up sequence after an enquiry or a booking reminder. For a creator, it’s a nurture sequence leading to your paid offer. One working flow beats six half-built ones.

    3. A regular campaign you can sustain. Monthly is fine. Pick a cadence you can keep for a year. A useful format for local businesses: one story or tip, one offer or update, one call to action. Send a test to yourself and one colleague every time; a typo email to your whole list is recoverable, but a broken discount code costs real sales.

    Two smaller jobs are worth doing on day one too. Write a plain-text version of your signup confirmation, and make sure the reply-to address goes to an inbox someone reads. While you’re setting up your sender details, it’s a good moment to tidy up the signature you use for one-to-one customer email as well, since those messages share your domain’s reputation.

    Metrics to watch (and one to stop trusting)

    Stop leaning on open rate. Apple Mail Privacy Protection, introduced with iOS 15 in September 2021, preloads images for Apple Mail users, which registers as an open whether or not anyone read the email. Open rates across every platform are inflated as a result. Use them only to spot sudden drops, which can signal a deliverability problem.

    Track these instead:

    • Click rate. The most honest engagement signal you have. Compare campaign to campaign, not to industry averages.
    • Conversion or revenue per email. Klaviyo, Omnisend and Mailchimp’s ecommerce integrations report this directly. For service businesses, track bookings or enquiries from email with UTM tags in your analytics.
    • Unsubscribe rate. A spike after a specific campaign tells you that content or frequency missed.
    • Spam complaint rate. Set up Google Postmaster Tools for your domain. It’s free and it shows your spam rate as Gmail sees it, which no platform dashboard can.
    • Bounce rate. Hard bounces should be suppressed automatically. If they’re climbing, check how contacts are entering your list.

    For testing, run A/B tests on one variable at a time (subject line, send time, or offer), and only on lists large enough to produce a meaningful difference. On a 600-person list, a subject line test won’t tell you much. Spend that effort on better content.

    Switching platforms later without losing your list

    Most small businesses change platforms at least once, usually when pricing jumps or they outgrow a tool’s automation. Moving is easier than vendors make it look.

    • Export everything, including suppression lists. Your unsubscribed and bounced contacts must stay suppressed on the new platform. Importing them as active subscribers is a legal and deliverability problem.
    • Rebuild automations before you cancel. Screenshot every flow, its timing and its copy. Nothing migrates automatically between vendors.
    • Re-authenticate your domain. Add the new platform’s DKIM records before removing the old ones, so there’s no gap.
    • Warm up gradually. Send your first campaigns on the new platform to your most engaged segment, then widen. A sudden full-list blast from a brand-new sending setup can trigger filtering.
    • Check your forms and integrations. Every signup form, checkout opt-in and booking tool needs pointing at the new account.

    Stay on the right side of the law

    Every reputable platform requires you to have permission to email your contacts, and they will suspend accounts that don’t. In the US, CAN-SPAM requires an accurate From line, a non-deceptive subject, your physical postal address, and a working unsubscribe that you honor within 10 business days. In the UK and EU, GDPR and PECR generally require clear opt-in consent for marketing email to individuals. Keep a record of when and how each person signed up.

    Never buy, rent or scrape email lists. Beyond the legal risk, purchased lists are full of spam traps and dead addresses, and most platforms in this guide ban them outright in their terms. Grow your list with signup forms, checkout opt-ins, lead magnets and in-store sign-ups instead. It’s slower and it works.

    FAQ

    What is the best email marketing platform for a small business?

    MailerLite is the best fit for most small businesses because it combines an easy editor, solid automation, landing pages and forms with low monthly pricing. Online stores that want deep purchase data should choose Klaviyo instead, and creators selling digital products should look at Kit.

    Which email marketing service is free for small businesses?

    Several have usable free plans. Kit’s covers up to 10,000 subscribers, Brevo’s allows 300 emails a day, Mailchimp’s covers 250 contacts and 500 sends a month, HubSpot includes 2,000 sends a month, and Klaviyo and Omnisend each offer small free tiers aimed at stores. Free plans typically add the vendor’s branding and limit automation.

    How much should a small business spend on email marketing software?

    Most small businesses with under 2,500 contacts spend somewhere between $10 and $60 a month. Ecommerce brands using Klaviyo, and B2B teams on ActiveCampaign’s higher tiers, usually spend more because the revenue attribution and CRM features justify it. Check how each platform bills (contacts versus emails sent) before comparing prices.

    Do I need my own domain to use an email marketing platform?

    Yes, in practice. Gmail, Yahoo and Microsoft all expect bulk mail to be authenticated with SPF, DKIM and DMARC on the sending domain, and sending marketing email from a free @gmail.com or @yahoo.com address fails DMARC at the receiving end. A domain costs little and protects your deliverability.

    Can I use Gmail or Outlook instead of an email marketing platform?

    Not for marketing campaigns. Personal mailboxes have sending limits, no unsubscribe handling, no list management and no reporting, and bulk sending from them risks your account being locked. Use your regular inbox for one-to-one customer conversations and an email marketing platform for anything sent to a list.

  • How Email Spam Filters Work and Why Messages Get Caught

    How Email Spam Filters Work and Why Messages Get Caught

    E-mail spam filtering is the set of tests a receiving mail server runs on every incoming message. Those tests decide whether the message lands in the inbox, goes to the spam folder, or gets rejected. Modern filters combine connection checks, sender authentication, reputation lookups, content analysis, machine learning and recipient behaviour into a single verdict, and most legitimate mail gets caught because it fails one of those layers.

    Best forSenders and IT admins
    Key recordsSPF, DKIM, DMARC
    Gmail spam ceiling0.3% complaint rate
    Biggest factorSender reputation

    What an email spam filter actually does

    A spam filter is software that scores incoming mail and acts on that score. It can run at your mailbox provider (Gmail, Outlook.com, Yahoo), on a corporate gateway, on your own mail server, or inside your email client.

    The volume explains why filters are so aggressive. Kaspersky’s annual spam and phishing report put spam at 45.6% of global email traffic in 2023. Close to half of all mail is junk, so providers err on the side of suspicion. A sender with no history gets less benefit of the doubt than one with years of clean sending.

    Every filter ends with one of four outcomes:

    • Reject at the door. The receiving server refuses the message during the SMTP conversation and returns an error code. The sender gets a bounce.
    • Accept to the inbox. The message passed and gets delivered normally.
    • Accept to spam or junk. The server took the message but routed it away from the inbox.
    • Quarantine. Common in business filters. An admin or user has to release the message before anyone sees it.

    Most filters work on points, not a single pass or fail. Apache SpamAssassin, the open-source filter that shaped a lot of this industry, adds up scores from hundreds of rules and treats anything at 5.0 or above as spam by default. Commercial and mailbox-provider filters are far more complex, but the idea holds. Small problems add up, and one big problem can sink you alone.

    The 6 checks a message has to pass

    You can follow a message through roughly six layers, from the moment your server connects to the moment a human decides whether to open it. Here is the short version before we go through each one.

    Layer What it examines Typical tools and signals What failure looks like
    1. Connection Sending IP, reverse DNS, sending rate DNS blocklists, PTR lookups, greylisting SMTP rejection or temporary deferral
    2. Authentication Proof the sender owns the domain SPF, DKIM, DMARC Rejection or spam folder
    3. Domain and URL reputation Domains in the From line and links Spamhaus DBL, URIBL, domain age Spam folder or rejection
    4. Content Headers, body, HTML, attachments Rule sets, Bayesian scoring, malware scanning Higher spam score, quarantine
    5. Machine learning Patterns across billions of messages Neural networks, text classifiers Spam folder, warning banners
    6. Engagement How recipients treat your mail Opens, replies, deletes, spam reports Gradual slide into the spam folder

    1. Connection and IP reputation

    Before the receiving server reads a single word, it looks at who is knocking. The sending IP address is checked against DNS-based blocklists such as Spamhaus ZEN, Barracuda’s BRBL and SpamCop. If your IP is listed, many servers drop the connection on the spot.

    The server also checks reverse DNS. Your sending IP should have a PTR record that resolves to a hostname, and that hostname should resolve back to the same IP. Gmail requires this from every sender, regardless of volume.

    Rate matters too. A brand-new IP that suddenly pushes 50,000 messages an hour looks like a compromised machine. Receivers throttle it with temporary 4xx errors. Some servers use greylisting, which deliberately defers the first message from an unknown sender. Real mail servers retry a few minutes later, while a lot of spam software never does.

    2. Authentication: SPF, DKIM and DMARC

    Authentication answers one question: is this server allowed to send mail for this domain? Three DNS records handle it.

    SPF lists the servers permitted to send for your domain. Keep it under the 10 DNS lookup limit or it fails silently.

    example.com.  TXT  "v=spf1 include:_spf.google.com include:sendgrid.net ~all"
    

    DKIM adds a cryptographic signature to each message. The receiving server fetches your public key from DNS and checks the signature, which proves the message wasn’t altered and came from someone holding your private key.

    s1._domainkey.example.com.  TXT  "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."
    

    DMARC ties the two together. It requires that SPF or DKIM pass and align with the domain in the visible From address. It also tells receivers what to do when checks fail and where to send reports.

    _dmarc.example.com.  TXT  "v=DMARC1; p=none; rua=mailto:[email protected]; adkim=r; aspf=r"
    

    Start at p=none to collect reports. Then move to p=quarantine and finally p=reject once you’re sure every legitimate source is authenticated. Alignment is the part people miss. If your newsletter platform signs DKIM with its own domain instead of yours, DMARC can fail even though DKIM technically passed.

    3. Domain and URL reputation

    Filters look past your IP to the domains inside the message. That includes your From domain, the Return-Path domain, every link and the image hosts. Services like the Spamhaus Domain Blocklist (DBL) and URIBL track domains seen in spam.

    This is why a single bad link can sink a clean campaign. A public link shortener that spammers also abuse, a tracking domain shared with thousands of other customers, or a freshly registered domain can all drag your score down. Domain age counts. A domain registered last week and already sending bulk mail is a classic spam pattern.

    4. Content analysis

    Content filters read the headers and body. Rule-based filters look for known patterns. Think mismatched From and Reply-To addresses, HTML that hides text in tiny fonts or white-on-white colour, image-only emails with almost no text, malformed headers, and attachments with risky file types like .exe, .js or macro-enabled Office files.

    Bayesian filtering adds statistics. Paul Graham’s 2002 essay “A Plan for Spam” popularised the approach: train a filter on known spam and known good mail, then score new messages by the probability that their words and tokens appear in spam. Desktop clients like Thunderbird still use adaptive filters built on the same idea.

    Attachments and links are also scanned for malware and phishing. Business filters often open them in a sandbox before releasing the message.

    5. Machine learning and AI

    The big mailbox providers rely mainly on machine learning now. Rules can’t keep up with spammers who rotate wording, domains and IPs hourly. Models trained on billions of messages pick up patterns no human would write as a rule. More on this below.

    6. Engagement and recipient signals

    The last check happens after delivery, and it is the one senders ignore most. Gmail, Yahoo and Microsoft watch what recipients do with your mail. Opening, replying, moving a message out of spam and adding you to contacts all count in your favour. Deleting without reading, ignoring you for months and hitting “Report spam” all count against you.

    These signals feed back into your reputation for future sends. That’s why a sender can pass every technical check and still drift into the spam folder. The filter learned from its users that people don’t want this mail.

    Types of spam filters

    6 Layers of Spam Filtering Diagram

    The layers above describe what gets checked. Where the filter sits determines how much control you have.

    Mailbox provider filters. Gmail, Outlook.com, Yahoo and Apple iCloud run their own filtering. You can’t configure it as a sender. You can only earn a good reputation.

    Secure email gateways (SEGs). These sit in front of a company’s mail server and filter traffic before it arrives, usually by changing the domain’s MX records to point at the gateway. Proofpoint, Mimecast, Barracuda and Cisco Secure Email are long-standing names here.

    API-based cloud email security. Newer tools connect directly to Microsoft 365 or Google Workspace through their APIs and scan mail after the platform’s built-in filter. Abnormal Security, Check Point Harmony Email and Collaboration, and similar products focus on behavioural analysis. They learn who normally emails whom and flag oddities like a “CEO” suddenly asking finance for a wire transfer.

    Server-side open-source filters. SpamAssassin and Rspamd run on self-hosted mail servers. Both are free, highly configurable, and need someone who knows what they’re doing to maintain them.

    Client-side filters. Outlook’s Junk Email settings, Apple Mail’s junk filter and Thunderbird’s adaptive filter run on the user’s device or account. They mostly add a personal layer on top of server filtering.

    There’s also the old challenge-response model, where unknown senders must confirm they’re human before delivery. It still exists in a few services, but it annoys legitimate senders and generates backscatter, so most admins avoid it.

    Spam filtering with AI

    Google has been the most open about its machine learning. In 2019 it said its TensorFlow models were blocking an extra 100 million spam messages a day that earlier systems missed. In late 2023 it introduced RETVec, a text classifier built to handle the tricks spammers use to dodge text filters: misspellings, swapped characters, invisible Unicode and homoglyphs. Google reported that RETVec improved Gmail’s spam detection rate by 38% over the previous baseline and cut false positives by 19.4%.

    Google also says Gmail blocks more than 99.9% of spam, phishing and malware. That number explains why getting into the Gmail inbox is so hard for marginal senders. The system is tuned to catch nearly everything questionable.

    AI cuts both ways. Spammers and phishers now use large language models to write fluent, personalised messages with none of the broken grammar that older content rules relied on. That has pushed filters toward signals that are harder to fake, like authentication, sending history, relationship patterns between sender and recipient, and behaviour after delivery. The words in your email matter less every year. Who you are and how people react to you matter more.

    The Gmail, Yahoo and Microsoft sender rules

    The three largest consumer mailbox providers now publish hard requirements. Fail them and no amount of good content will help.

    Provider Applies to Effective date Key requirements
    Gmail (all senders) Anyone sending to personal Gmail accounts February 2024 SPF or DKIM, valid forward and reverse DNS, TLS, spam rate under 0.3%, RFC 5322 formatting
    Gmail (bulk senders) 5,000+ messages a day to Gmail accounts February 2024; one-click unsubscribe by June 1, 2024 SPF and DKIM, DMARC at p=none or stricter, From domain aligned, one-click unsubscribe, honour unsubscribes within 2 days
    Yahoo Bulk senders (no public numeric threshold) February 2024 SPF and DKIM, DMARC at p=none or stricter, aligned From domain, one-click unsubscribe, spam rate under 0.3%
    Microsoft Outlook.com 5,000+ messages a day to Outlook.com, Hotmail and Live addresses May 5, 2025 SPF pass, DKIM pass, DMARC at p=none or stricter aligned with SPF or DKIM

    Google recommends keeping your spam rate below 0.1% and treats 0.3% as the line you must never cross. It also said it would step up enforcement from November 2025, including temporary and permanent rejections for non-compliant mail. Microsoft rejects non-compliant bulk traffic with a specific error code, covered in the next section.

    One-click unsubscribe means the List-Unsubscribe and List-Unsubscribe-Post headers defined in RFC 8058. A footer link alone doesn’t satisfy it, though you should still include one.

    List-Unsubscribe: <https://example.com/unsub?id=abc123>, <mailto:[email protected]?subject=unsubscribe>
    List-Unsubscribe-Post: List-Unsubscribe=One-Click
    

    Inbox tip

    Make unsubscribing easier than reporting spam. Every person who unsubscribes instead of clicking “Report spam” protects your complaint rate.

    Why legitimate emails get caught

    When a real business email lands in spam, the cause is almost always one of these, roughly in order of how often I see them.

    1. Broken or misaligned authentication. SPF that doesn’t include your email platform, DKIM signed with the vendor’s domain instead of yours, or no DMARC record at all. This is the most common and the easiest to fix.
    2. A complaint rate that’s too high. Mailing people who forgot they signed up, or who never really did, drives up spam reports fast. At Gmail, crossing 0.3% is enough to hurt every message you send.
    3. Old or acquired addresses. Lists that sat unused for a year contain abandoned addresses. Some of those get recycled into spam traps, which are addresses that exist only to catch senders who don’t clean their lists. Purchased lists are worse, and they also break consent rules under GDPR and many anti-spam laws.
    4. Volume spikes on a cold IP or domain. Going from zero to 100,000 sends overnight looks like an attack. New IPs and domains need gradual warming.
    5. Shared IP reputation. On a shared pool at an email service provider, other customers’ behaviour affects you. Good providers police this. Cheap ones don’t always.
    6. Bad neighbours in your links. A blocklisted link shortener, an image host with a poor reputation or a tracking domain shared with spammers.
    7. Low engagement over time. Sending to people who never open teaches the filter your mail isn’t wanted.
    8. Sloppy formatting. Image-only emails, broken HTML, a missing plain-text part, or From and Reply-To domains that don’t match your brand.

    Notice what isn’t on that list: “spam trigger words.” Writing “free” or “act now” in a subject line used to add points in old rule sets. Today it barely matters. Ranking lists of 400 forbidden words is a myth that wastes your time. Phrases that sound deceptive still hurt, but because recipients report the mail, not because a keyword list flagged it.

    Deliverability risk

    Sending to purchased or scraped lists is the fastest way onto a Spamhaus blocklist. One listing can block your mail across thousands of receiving servers at once.

    What the bounce codes tell you

    When a filter rejects mail at the SMTP stage, the error code tells you which layer failed. These are the ones worth recognising.

    Code Provider What it means
    550 5.7.26 Gmail Message failed authentication (usually DMARC). Fix SPF, DKIM and alignment.
    550 5.7.25 Gmail Sending IP has no PTR (reverse DNS) record.
    550 5.7.1 Gmail Message looks like unsolicited mail based on content or reputation.
    421 4.7.28 Gmail Unusual rate of unsolicited mail from your IP or domain. Slow down and investigate.
    421 4.7.0 Gmail Temporary block or rate limit. Retry later at lower volume.
    550 5.7.515 Outlook.com Sending domain doesn’t meet Microsoft’s authentication requirements for bulk mail.
    554 5.7.1 (with a blocklist name) Many servers Your IP or domain is on a named blocklist such as Spamhaus ZEN.

    A 4xx code is temporary and your server will retry. A 5xx code is permanent for that message. Repeated 5xx bounces need a fix, not more retries.

    How to find out why your mail is being filtered

    Guessing wastes days. Work through the evidence in this order.

    Diagnose a spam folder problem

    1. Send a test to a Gmail account and open Show original.
    2. Read the SPF, DKIM and DMARC results.
    3. Check Gmail Postmaster Tools for spam rate and compliance.
    4. Look up your IP and domains on major blocklists.
    5. Read your DMARC aggregate reports for unknown senders.
    6. Review complaints and bounces from your email platform.

    Read the headers. In Gmail, open the message, click the three-dot menu and choose Show original. The top summary shows SPF, DKIM and DMARC as PASS or FAIL. The Authentication-Results header gives the detail, including which domain was checked. In Outlook and Microsoft 365, the X-Forefront-Antispam-Report header includes the Spam Confidence Level (SCL). A value of -1 means filtering was skipped, 0 or 1 means clean, and 5 and up means the message was judged spam. Self-hosted SpamAssassin adds an X-Spam-Status header listing every rule that fired and the total score.

    Use the provider dashboards. Google Postmaster Tools shows your domain’s spam rate, authentication results and compliance status against the sender rules. Microsoft offers Smart Network Data Services (SNDS) for IP data and the Junk Mail Reporting Program (JMRP) for complaint feedback. Yahoo runs a complaint feedback loop you can sign up for.

    Feed events into your own systems. Most email platforms push bounce, complaint and unsubscribe events to your app in real time. If you need the webhook definition first, it’s simply an automated HTTP message one service sends another when something happens. Wiring complaints into your CRM means you can suppress unhappy contacts everywhere, not only in one tool.

    Check DMARC reports. Aggregate reports, sent to the rua address in your DMARC record, show every IP sending mail as your domain. You’ll often find a forgotten CRM, help desk or invoicing tool that was never added to SPF or set up for DKIM.

    Choosing an email filter service for your business

    On the receiving side, a corporate email spam filter protects your staff from phishing, malware and business email compromise, and it keeps inboxes usable. Microsoft 365 and Google Workspace include solid built-in filtering. Many businesses add a second layer because targeted phishing and impersonation attacks slip past general-purpose filters.

    Here is what the main options cost. Prices are list prices at the time of writing, so confirm on vendor pages before you buy.

    Option Type Price
    Gmail, Outlook.com, Yahoo Built-in consumer filtering Free
    Google Workspace Built-in business filtering Included in all Workspace plans
    Exchange Online Protection Built-in Microsoft 365 filtering Included with Exchange Online mailboxes
    Microsoft Defender for Office 365 Plan 1 Add-on: safe links, safe attachments $2 per user per month
    Microsoft Defender for Office 365 Plan 2 Add-on: Plan 1 plus threat investigation and simulation $5 per user per month
    Apache SpamAssassin Open-source server filter Free (Apache License 2.0)
    Rspamd Open-source server filter Free (Apache License 2.0)
    Proofpoint, Mimecast, Barracuda Secure email gateway Quote-based
    Abnormal Security, Check Point Harmony Email API-based cloud security Quote-based

    When you compare email filtering services, weigh these factors:

    • Deployment model. Gateways need an MX change and catch threats before they reach your mailboxes. API tools deploy in minutes and can pull a malicious message back out of inboxes after delivery. Many companies pair built-in filtering with one API tool.
    • Phishing and impersonation detection. Ask how the product handles messages with no malicious link or attachment, such as invoice fraud or payroll diversion requests. Pure content filters struggle with these.
    • False positive handling. Blocking a customer’s purchase order costs real money. Look for clear quarantine digests, easy user release, and allow-list controls that admins can audit.
    • Admin effort. A powerful filter that needs constant tuning will drift out of date if nobody owns it.
    • Reporting. You want to see what was blocked, why, and which users get targeted most.

    Don’t layer three filters on top of each other without a reason. Every extra layer adds false positive risk and another quarantine to check.

    What recipients can do to train their filter

    Filters learn from you. If a newsletter you want keeps landing in spam, mark it “Not spam” and move it to your inbox. Add the sender’s address to your contacts. In Gmail, you can also create a filter with the sender’s address and choose “Never send it to Spam.”

    For genuine junk, use the “Report spam” or “Junk” button rather than just deleting it. That report trains your provider’s models and lowers the sender’s reputation for everyone. Don’t click unsubscribe links in obvious scam or phishing emails, though. That only confirms your address is live. Report them instead.

    In business settings, use your company’s report-phishing button if one exists. It sends the message to the security team, who can pull identical copies out of colleagues’ inboxes before anyone clicks.

    FAQ

    What is e-mail spam filtering in simple terms?

    It’s an automated check that receiving mail servers run on every incoming message. The filter looks at who sent it, whether the sender is authenticated, the reputation of the domains and links involved, the content, and how recipients reacted to similar mail. It then delivers, diverts or rejects the message.

    Do spam filters read my emails?

    They scan them automatically. Content and machine learning filters analyse text, links and attachments to classify messages, and providers state this in their terms. No person reads your mail as part of normal spam filtering.

    Why do emails from my own domain go to spam?

    Usually because a sending service isn’t authenticated for your domain. A website contact form, a CRM or an invoicing tool may send as your domain without being included in SPF or signing with your DKIM key. DMARC then fails. Check the headers and your DMARC reports to find the culprit.

    Do spam trigger words still matter?

    Very little. Modern filters lean on authentication, reputation and engagement far more than individual words. Misleading subject lines still hurt, but mainly because recipients report them as spam.

    How accurate are spam filters?

    The large providers are extremely accurate. Google says Gmail blocks more than 99.9% of spam, phishing and malware. The trade-off is that marginal or poorly authenticated legitimate mail sometimes gets caught, which is why sender setup matters so much.

    What spam complaint rate is too high?

    For Gmail, 0.3% is the hard limit, and Google recommends staying below 0.1%. Yahoo applies similar thresholds. That’s one complaint per 1,000 delivered messages. If you’re near that line, tighten your opt-in process and stop mailing people who haven’t engaged in months.

  • What Is a Webhook and How Email Services Use Them

    What Is a Webhook and How Email Services Use Them

    A webhook is an automated HTTP message that one application sends to another the moment something happens, such as an email bouncing or a subscriber clicking unsubscribe. Your system doesn’t keep asking for updates. The sending service pushes the data to a URL you provide. Email platforms rely on webhooks to report deliveries, bounces, complaints, opens and clicks to your CRM, store or database in near real time.

    Best forReal-time email event data
    DirectionProvider pushes to you
    FormatHTTP POST, usually JSON
    Key security stepVerify the signature

    What are webhooks, in plain terms?

    Webhooks are user-defined HTTP callbacks. You register a URL with a service, choose the events you care about, and the service sends an HTTP request to that URL each time one of those events occurs. The request body carries the details: which event, when it happened, which message or contact it relates to.

    The term dates to 2007, when developer Jeff Lindsay described “web hooks” as a way for web apps to notify each other the way Unix programs pass output through pipes. The idea caught on because it solved a common integration problem with very little machinery: any system that can receive an HTTP request can receive a webhook.

    A useful analogy is the difference between refreshing a parcel tracking page every ten minutes and getting a text when the courier drops off the box. Polling an API is the refreshing. A webhook is the text.

    People sometimes call webhooks “reverse APIs” or “push APIs”. The labels are loose, but they capture the key point. With a normal API call, you start the conversation. With a webhook, the other system does.

    How a webhook works, step by step

    Every webhook follows the same basic flow, regardless of which apps are involved:

    1. You register an endpoint. This is a URL on your server or in an automation tool, for example https://example.com/hooks/email-events.
    2. You pick the events. Most providers let you subscribe only to the events you need, such as bounces and spam complaints.
    3. An event happens. A receiving mail server rejects a message, or a subscriber clicks a link.
    4. The provider sends an HTTP POST. The request contains a payload, usually JSON, describing the event.
    5. Your endpoint responds with a 2xx status code. This tells the provider the delivery worked. Anything else, or a timeout, usually triggers a retry.
    6. Your code acts on the data. It might suppress an address, update a contact record or post an alert to Slack.

    A semi-realistic webhook example

    Say a subscriber’s mailbox no longer exists and the receiving server returns a hard bounce. SendGrid’s Event Webhook would send your endpoint a JSON array of events. A simplified version looks like this:

    [
      {
        "email": "[email protected]",
        "timestamp": 1735689600,
        "event": "bounce",
        "type": "bounce",
        "reason": "550 5.1.1 The email account that you tried to reach does not exist",
        "status": "5.1.1",
        "sg_event_id": "a1b2c3d4e5f6",
        "sg_message_id": "14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0"
      }
    ]
    

    Your code reads event, sees a hard bounce with a 5.1.1 status, marks [email protected] as undeliverable in your CRM and returns 200 OK. Total elapsed time from bounce to suppression: usually seconds.

    Mailgun structures things differently. It wraps the event inside an event-data object and adds a separate signature object for verification:

    {
      "signature": {
        "timestamp": "1735689600",
        "token": "a8ce0edb2dd8301dee6c2405235584e45aa91d1e9f979f3de0",
        "signature": "d2271d12299f6592d9d44cd9d250f0704e4674c30d79d07c47a66f95ce71cf55"
      },
      "event-data": {
        "event": "failed",
        "severity": "permanent",
        "recipient": "[email protected]",
        "id": "CPgfbmQMTCKtHW6uIWtuVe"
      }
    }
    

    Same event, different shape. That is the first lesson of working with email webhooks: every provider has its own payload format, so your handler needs to be written for the specific service sending to it.

    Webhooks vs. APIs (and polling)

    Webhook vs API Polling Diagram

    Webhooks and APIs aren’t competitors. Webhooks travel over HTTP and are part of a provider’s API surface. The real comparison is between push (webhooks) and pull (polling an API endpoint on a schedule).

    Webhook (push) API polling (pull)
    Who starts the request The provider Your application
    Timing Near real time, seconds after the event Delayed by your polling interval
    Wasted requests None; a request means something happened Many; most polls return nothing new
    Rate limit pressure Low High at short intervals
    What you need to run A public HTTPS endpoint A scheduled job and API credentials
    Missed data risk Events can be lost if your endpoint is down too long Low; you can re-query history
    Best for Reacting to events as they happen Backfills, reconciliation, bulk reads

    The strongest setups use both. Webhooks handle the live flow, and a nightly API query catches anything that slipped through during an outage. Email providers make this easy because most of them expose an events or logs API alongside their webhooks.

    How email services use webhooks

    Sending an email kicks off a chain of events you can’t see from your own app. The provider accepts the message, hands it to the recipient’s mail server, and then gets back a delivery, a deferral or a bounce. Later, the recipient might open it, click it, mark it as spam or unsubscribe. Webhooks are how the provider tells you about each of those steps.

    Here are the event types you’ll see across most email platforms and what you should do with each one.

    Event What it means What your system should do
    Delivered Receiving server accepted the message Log it; delivered does not mean inbox
    Deferred / delayed Temporary failure, provider will retry Usually nothing; watch for spikes by domain
    Hard bounce Permanent failure, e.g. address doesn’t exist Suppress the address immediately
    Soft bounce Temporary issue, e.g. full mailbox Count them; suppress after repeated failures
    Spam complaint Recipient clicked “Report spam” Unsubscribe them at once and flag the source
    Unsubscribe Recipient opted out Update every system that can email them
    Open Tracking pixel loaded Treat as a soft signal only (see below)
    Click Tracked link followed Trigger follow-ups, score engagement
    Dropped / rejected Provider refused to send, often a suppressed address Check why; fix the list or template

    Why bounce and complaint webhooks matter most

    If you only wire up two events, make them bounces and spam complaints. Gmail and Yahoo’s bulk sender requirements, enforced from February 2024 for anyone sending 5,000 or more messages a day to Gmail addresses, ask senders to keep their spam complaint rate below 0.3%. Google recommends staying under 0.1%. Microsoft added its own requirements for high-volume senders to Outlook.com addresses in May 2025.

    Your email service already suppresses bounced and complaining addresses on its own sending infrastructure. The problem is the other systems. If your CRM, your e-commerce platform or a second email tool doesn’t know about the complaint, it may keep mailing that person. A complaint webhook closes that gap.

    Deliverability risk

    Mailing addresses that already hard bounced or complained elsewhere is one of the fastest ways to push your complaint rate past 0.3% and get filtered or blocked by Gmail and Yahoo.

    Unsubscribe webhooks are compliance plumbing

    The same Gmail and Yahoo rules require one-click unsubscribe for marketing mail and expect opt-outs to be honoured within two days. In the US, CAN-SPAM gives you 10 business days. Under GDPR, a withdrawn consent has to stop processing for that purpose.

    Those deadlines get tricky when you send from more than one tool. Your newsletter might go out through Mailchimp while receipts and win-back flows come from a transactional service. An unsubscribe webhook from one platform, pushed into your central contact record, is the simplest way to keep every system in sync.

    Open events need a pinch of salt

    Since Apple launched Mail Privacy Protection with iOS 15 in September 2021, Apple Mail can preload images (including tracking pixels) through proxy servers whether or not the person reads the email. That means a large share of “open” webhooks now fire automatically. Don’t build important automations on opens alone. Clicks, replies and purchases are far more trustworthy triggers.

    Webhook support across major email providers

    Webhook Step-by-Step Flow

    Every major email service offers webhooks, but the details differ in ways that affect your code. This table summarises how the main providers handle them, based on their published documentation at the time of writing (early 2025). Check the current docs before you build, as these change.

    Provider Webhook name Payload format Request signing Retry behaviour
    Twilio SendGrid Event Webhook JSON array, batched Optional ECDSA signature (Signed Event Webhook) Retries non-2xx responses for up to 24 hours
    Mailgun Webhooks (per domain) JSON, one event per request HMAC-SHA256 with your webhook signing key Retries for about 8 hours; a 406 response stops retries
    Postmark Webhooks (per message stream) JSON, one event per request No signatures; supports Basic Auth and IP allowlisting Retries failed deliveries with increasing delays
    Amazon SES Event publishing via SNS or EventBridge JSON in an SNS or EventBridge envelope SNS messages are signed by AWS Governed by SNS or EventBridge delivery policy
    Mailchimp (Marketing) Audience webhooks Form-encoded POST No signatures; use a secret in the URL Disables webhooks that keep failing
    Mailchimp Transactional (Mandrill) Webhooks Form-encoded batch of JSON events HMAC-SHA1 via X-Mandrill-Signature Retries failed batches
    Resend Webhooks JSON, one event per request Signed via Svix headers Retries on a backoff schedule

    A few practical takeaways from that table:

    • SendGrid batches. One request may contain dozens of events, so your handler must loop through the array.
    • Mailgun lets you say “stop”. Returning 406 Not Acceptable tells it not to retry that event.
    • Postmark and Mailchimp don’t sign requests. You need Basic Auth, an IP allowlist or a hard-to-guess token in the URL to keep strangers from posting fake events.
    • Amazon SES isn’t a classic webhook. You publish events through a configuration set to SNS (which can call an HTTPS endpoint) or EventBridge. You also have to confirm the SNS subscription before events flow.

    Most common use cases for webhooks in email

    Beyond bounce and complaint handling, here is where webhooks earn their keep for email teams:

    • CRM sync. Push clicks, unsubscribes and bounces into HubSpot, Salesforce or your own database so sales and support see the same contact status as marketing.
    • E-commerce triggers. Shopify, WooCommerce and Stripe all send webhooks for orders, refunds and failed payments. Your email platform (or a middleware tool) catches them and fires order confirmations, shipping updates and dunning emails. These receipts get used in more places than you might expect, since Google says Chrome autofill can now pull order and flight details from Gmail.
    • Double opt-in. A signup form posts to your email platform, and a subscribe webhook tells your app to unlock a download or create an account.
    • Team alerts. Send a Slack or Teams message when complaint events spike, or when a key customer’s emails start bouncing.
    • Data warehouse loading. Stream every event into BigQuery, Snowflake or Postgres for long-term reporting that outlives your provider’s log retention.
    • Inbound email. Most transactional providers can parse replies sent to your domain and post them to a webhook, which is how many support desks and reply-to-comment features work.

    No-code tools like Zapier, Make and n8n give you a webhook URL in a few clicks. That’s the quickest way to try these use cases before you write any code.

    How to set up an email webhook

    Menu paths below were accurate at the time of writing. Providers redesign their dashboards often, so look for “Webhooks” or “Event Webhook” under settings if a label has moved.

    • SendGrid: Settings > Mail Settings > Event Webhooks
    • Mailgun: Send > Sending > Webhooks, then choose the domain
    • Postmark: Servers > your server > your message stream > Webhooks
    • Amazon SES: Configuration sets > your set > Event destinations
    • Mailchimp: Audience > Manage Audience > Settings > Webhooks

    Setup steps

    1. Create an HTTPS endpoint that accepts POST requests and returns 200.
    2. In your provider, open the webhook settings and paste the endpoint URL.
    3. Select only the events you will actually use.
    4. Turn on request signing and copy the signing key.
    5. Send a test event from the dashboard and confirm it arrives.
    6. Add signature checks and event handling, then go live.

    Before you write real code, point the webhook at a request inspection service or a local tunnel such as ngrok to see the exact payload. It saves guesswork about field names.

    Securing your webhook endpoint

    A webhook URL is a public door into your system. Anyone who finds it can post fake “unsubscribe” or “bounce” events and quietly wreck your list. Lock it down with these layers:

    1. Use HTTPS only. Never accept webhook data over plain HTTP.
    2. Verify signatures. Where the provider signs requests, recompute the signature with your secret key and compare it before trusting anything in the body.
    3. Check timestamps. Reject requests older than a few minutes to block replay attacks.
    4. Add Basic Auth or a URL token for providers that don’t sign requests.
    5. Allowlist IPs where the provider publishes its sending ranges.

    Here is how Mailgun signature verification looks in Python. Mailgun concatenates the timestamp and token, then signs them with HMAC-SHA256 using your webhook signing key:

    import hashlib
    import hmac def verify_mailgun(signing_key, timestamp, token, signature):
        expected = hmac.new(
            key=signing_key.encode(),
            msg=f"{timestamp}{token}".encode(),
            digestmod=hashlib.sha256,
        ).hexdigest()
        return hmac.compare_digest(expected, signature)
    

    Use compare_digest rather than == so the comparison takes constant time. For extra protection, store each token you’ve seen and reject repeats.

    A growing number of services, including those built on Svix, follow the Standard Webhooks specification. It uses three headers (webhook-id, webhook-timestamp and webhook-signature), which means one verification routine can cover several providers.

    Inbox tip

    Never act on an unsubscribe or complaint event until the signature checks out. A forged event is rare; a forged event that resubscribes people who opted out is a legal problem.

    Webhook challenges: how to troubleshoot common issues

    Most webhook problems fall into a handful of patterns. Start here when events go missing or arrive twice.

    Symptom Likely cause Fix
    No events arriving at all Wrong URL, firewall block, or SES SNS subscription not confirmed Send a test event; check server logs; confirm the SNS subscription
    Provider shows repeated failures Endpoint returns non-2xx or times out Return 200 immediately, then process in the background
    Same event processed twice Retries after a slow response; at-least-once delivery Deduplicate on the event ID (e.g. SendGrid’s sg_event_id)
    Events in the “wrong” order Parallel delivery and retries Sort by the event timestamp, not arrival time
    Signature check always fails Body parsed or re-encoded before verification, or wrong key Verify against the raw request body; confirm the key
    Mailchimp webhook won’t save Mailchimp validates the URL with a GET request first Make the endpoint return 200 to GET as well as POST
    Huge spike after an outage Provider replaying its retry queue Queue incoming events; scale workers, not the endpoint
    Webhook silently disabled Too many consecutive failures Re-enable it, then backfill from the provider’s events API

    The second row causes more trouble than all the others combined. Providers expect a fast answer, and some time out after just a few seconds. If your handler calls three other APIs before responding, you’ll see timeouts, retries and duplicates.

    Tips for optimizing webhook usage

    These habits separate a webhook integration that runs quietly for years from one that pages you at 3 a.m.

    Acknowledge first, work later. Write the raw payload to a queue or table and return 200 straight away. A separate worker handles the business logic. This keeps you inside every provider’s timeout and lets you replay events if your code has a bug.

    Make handlers idempotent. Assume every event will arrive at least twice at some point. Processing a bounce twice should give the same result as processing it once.

    Subscribe to less. If you don’t use open events, turn them off. A large newsletter send can generate an open webhook for most Apple Mail recipients within minutes, and that’s a lot of traffic to receive and discard.

    Keep the raw payloads. Providers retain event logs for a limited period, often days or weeks depending on plan. Your own copy lets you answer “why did this person stop getting emails?” months later.

    Monitor the endpoint. Alert on rising error rates, falling event volume and queue backlog. A webhook that quietly stops is worse than one that fails loudly.

    Reconcile on a schedule. Run a daily job that pulls suppressions or events through the provider’s API and compares them with your records. It catches anything lost during downtime.

    Separate environments. Use different endpoints and signing keys for staging and production so test sends never touch real contact records.

    Benefits of using webhooks

    For an email program, the payoff is concrete:

    • Faster list hygiene. Bad addresses are suppressed everywhere in seconds, not on the next nightly sync.
    • Lower complaint rates. Complainers stop receiving mail from every tool, protecting your sender reputation.
    • Fewer API calls. No polling loops eating into rate limits.
    • Better automation triggers. Clicks and purchases can start follow-up sequences while the subscriber is still engaged.
    • Simpler architecture. Any system that can accept an HTTP POST can join the integration.

    The cost is that you now run an endpoint that must be available, secure and fast. For most teams that trade is well worth it, especially once the sending volume puts you under Gmail, Yahoo and Microsoft’s bulk sender rules.

    FAQ

    What is a webhook in simple terms?

    A webhook is a message one app sends to another automatically when something happens. Instead of your system repeatedly asking “anything new?”, the other service sends an HTTP request to a URL you gave it, with details of the event.

    What are webhooks used for in email marketing?

    Mainly for syncing email events to other systems: suppressing hard bounces, unsubscribing people who report spam, updating CRM records with clicks, triggering follow-up emails and loading event data into reporting tools.

    Is a webhook the same as an API?

    No. An API is something you call when you want data. A webhook is a call the provider makes to you when an event occurs. Both use HTTP, and most email services offer both, so you can react in real time with webhooks and fill gaps with API queries.

    Do webhooks always deliver every event?

    No delivery system is perfect. Most providers retry failed deliveries for a set window (24 hours for SendGrid, roughly 8 to 12 hours for Mailgun depending on which of its docs you consult), but if your endpoint is down longer than that, events can be lost. A daily reconciliation job through the provider’s API covers the gap.

    Do I need to be a developer to use webhooks?

    Not to get started. Zapier, Make and n8n generate webhook URLs you can paste into your email platform and connect to Slack, Google Sheets or a CRM without code. For high volumes or compliance-critical events like unsubscribes, a coded endpoint with signature checks is the safer choice.

    Are webhooks secure?

    They are as secure as your endpoint. Use HTTPS, verify signatures where the provider offers them, reject old timestamps and add Basic Auth or IP allowlisting for providers that don’t sign requests.