Sending email is easy. Landing in the inbox is the hard part, and the gap between a 95 percent inbox placement rate and a 40 percent one has almost nothing to do with the code that pushes the message out.
If you are thinking about moving off a hosted platform and running your own sender, here is what the job actually consists of, in the order it tends to bite.
Authentication Is the Entry Ticket
SPF, DKIM and DMARC are not optional extras any more. Gmail and Yahoo both made them a requirement for bulk senders in 2024, along with one click List-Unsubscribe headers and a spam complaint rate under 0.3 percent.
None of this is difficult, it is three DNS records and a signing key. What catches people is that authentication only gets you considered. It does not get you delivered. Passing DMARC means the receiving side believes you are who you say you are, which is the entry ticket, not the prize.
Reputation Is Earned Slowly and Lost Instantly
A new sending domain has no history, so mailbox providers throttle it until it builds one. Warming means starting at a low daily volume with your most engaged recipients and increasing gradually over a few weeks, because engagement early on is what the reputation is actually built from.
The reverse happens much faster. One send to a stale list can undo weeks of warming, which is why the boring hygiene work matters more than the clever copy.
The Suppression List Is the Safety Net
This is the piece most homegrown senders get wrong. Unsubscribes, hard bounces and spam complaints have to land on a permanent suppression list, and that list has to survive a re-import.
The failure looks like this. Someone exports an old list from a previous platform, imports it into the new system, and the system happily re-mails every person who opted out two years ago. Authentication was fine, the content was fine, and the complaint rate does the damage. If your import path can write an address that is already suppressed, you do not have a suppression list, you have a filter.
What the Software Has to Do
Strip away the dashboard and a broadcast sender has a short list of real responsibilities. Store contacts and their state. Pace the send across a window instead of dumping everything at once. Sign and relay through an SMTP provider. Parse bounces and complaints back into suppression. Track opens and clicks while filtering out the security scanners that inflate click numbers.
That is a small enough surface that it does not need a heavy stack. Ours runs as one small app with single file storage and no database server, on ordinary shared hosting, relaying through whichever provider account you bring, which means you keep control of the per message cost and can switch providers without losing the list or the history.
The Takeaway
The reason to self host sending is not that platforms are expensive, though per subscriber pricing does add up. It is that your list, your suppression history and your engagement data are the asset, and they should live somewhere you control.
The full guide, covering how broadcast systems work, choosing an SMTP provider, domain and IP warming, list hygiene and the mistakes that quietly destroy deliverability, is here: https://www.aiappsapi.com/apps/emailbroadcast.php
Top comments (0)