Skip to main content
This article applies to Outbound Filtering accounts. For Email API accounts, see How usage is counted.
If you’ve looked at your MailChannels invoice and noticed charges for messages that were blocked, rate-limited, or rejected, you might be wondering whether that’s a mistake. It isn’t. Charging for every message you attempt to deliver through our service — regardless of whether it reaches the recipient’s inbox — is a deliberate policy, and one we’ve maintained for many years. Why we charge for rejected emails

The short answer

We charge for rejected messages because doing so gives you a powerful economic incentive to clean up abuse on your platform before it spirals out of control.

The problem we’re solving together

If you’re a MailChannels customer, you’re most likely a web hosting provider or a multi-tenant SaaS platform. That means you have hundreds or thousands of users sending email through your infrastructure, and you can’t personally review every message. Some percentage of those users — often without your knowledge — will at some point start sending spam, phishing emails, or other forms of abuse. When that happens, MailChannels steps in. Our filtering engine identifies the problematic traffic and blocks it before it can damage your IP reputation or the reputation of the broader sending pool. This is the core of what we do, and it works. But blocking abuse is only half the battle. The other half — the half that actually matters for long-term deliverability — is making sure you take action against the abusive sender on your end.

Why free rejections create the wrong incentive

Imagine a world where we didn’t charge for rejected messages. When one of your users starts blasting spam and we block it, there’s no cost to you. The spam doesn’t go out, your reputation is protected, and your bill stays the same. Problem solved, right? Not really. Because there’s no cost, there’s no urgency. The abusive account stays active on your platform. It keeps trying to send. We keep blocking. And over time, the volume of attempted abuse grows — not just from that one account, but from others like it, because your platform has become known as one that tolerates abusive signups without consequence. This is the classic problem in any shared-responsibility system: if one party bears all the cost of enforcement while the other bears none, enforcement gradually breaks down. Charging for spam creates an incentive for change

How charging changes the equation

When you’re billed for every attempted message — including the ones we block — something different happens. You start paying attention. You set up a webhook to receive real-time alerts from the Monitors service. You notice that a particular user or domain on your platform is generating a spike in blocked traffic. And because that spike is hitting your bottom line, you take action: you suspend the account, tighten your signup process, implement better verification, or reach out to the user to understand what’s going on. Billing for rejected messages closes the feedback loop. It transforms our blocking signals from something you might glance at into something you act on.

The counterintuitive outcome: you send less and pay less

When you start actively responding to the signals MailChannels provides — shutting down abusive senders, tightening onboarding, monitoring your sending patterns — the total volume of email flowing through our service tends to go down. Not because your legitimate email decreases, but because the illegitimate email that was inflating your numbers gets eliminated at the source. The customers who lean into the feedback loop end up with cleaner platforms, better deliverability, and lower bills. The ones who ignore the signals tend to see their costs and abuse volumes grow in lockstep.

We know it can feel unfair

When you see charges for messages that never reached anyone’s inbox — messages sent by an abusive user you didn’t authorize — it can feel like you’re paying for someone else’s bad behavior. And in a narrow sense, you are. But consider the alternative. In email, reputation is everything. If we simply absorbed the cost of blocking abuse and asked nothing of you, we’d be enabling a dynamic where abuse on your platform has no consequences until it’s too late — until your IPs are blacklisted, your legitimate customers can’t send email, and the damage is already done. By then, the cost of remediation is far greater than the cost of a few blocked messages on an invoice.

What you should do

If you’re seeing charges for rejected messages and want to bring those costs down:
1

Use Monitors actively

The Monitors & Alerts feature surfaces the users and domains on your platform generating abuse. Check your alerts regularly — or integrate them into your operations workflow by configuring webhooks so you can automate responses to abuse signals.
2

Act on signals quickly

When Monitors flags a sender, investigate and take action. Suspend accounts that are clearly abusive. Reach out to users who might have a compromised account without realizing it.
3

Tighten your onboarding

Many abuse problems start at signup. If you’re seeing repeated patterns of abusive accounts, consider adding email verification, CAPTCHA, phone verification, or manual review for new signups.
4

Set sending limits

Reasonable per-user sending limits can contain the blast radius of a compromised or abusive account before it generates significant blocked traffic.

A shared commitment to a cleaner email ecosystem

MailChannels sees itself as your partner in maintaining email deliverability. Our filtering catches the bad traffic. Our Monitors tell you where it’s coming from. And our pricing model ensures that you have every reason to act on that information. We charge for rejected messages not to penalize you, but because this model produces the best outcomes for everyone: for you, for your users, for recipients, and for the health of the email ecosystem as a whole. — Ken Simpson, CEO, MailChannels