The challenge
What we delivered
Outreach where the point is not to burn out
Anyone can send an email. The difficulty in cold outreach is elsewhere: keeping the mail providers willing to put your messages in the inbox rather than in spam.
We built our own system in which deliverability is not a report at the end but a fuse that trips before the domain is ruined.
The top row is not decoration — those are switches. Warm-up, auto-send, the fuse and follow-ups are visible at once, along with their state.
Deliverability as a mechanism, not a report
A cold list kills a domain in two days if you send to it as though these were subscribers. So three things in the system work before the message goes out, not after.
Warm-up. A new mailbox starts at tens of messages a day and grows its volume on a schedule. Until the warm-up reaches the required pace, a large campaign simply will not leave that mailbox.
Address checks. Before an address enters the queue, the system looks at whether the domain has a mail server at all and whether it accepts everything indiscriminately. Domains that say yes to any address are flagged separately — bounce statistics lie on those.
The fuse. If the bounce share in a campaign crosses the threshold, sending stops by itself. Mail providers start treating a domain as suspect at roughly two to three percent — the fuse trips before they notice.
A base where every state is visible
A contact is not a row with an address. It carries a status, a category, a language, a priority and groups, and the list filters by each of them. CSV import detects the encoding and the delimiter by itself, shows the column mapping and asks what to do with duplicates — skip or update.
A campaign is a queue, not a button
A campaign does not go out in one shot. It lands in a queue with a pause between messages, and the queue is visible in the panel: how many are written, how many are waiting, how many went today. It looks dull and it saves the domain.
Opens and clicks are counted, unsubscribing takes one click, and any event can raise a Telegram notification — so nobody has to keep the panel open all day.
Templates with variables
The message is written once; name, company, website and whatever was found during preparation are substituted in. The preview renders it against a specific contact straight away — so a mistake in a variable shows before the send, not after a thousand messages.
Replies in the same place
The worst thing in cold outreach is replies landing in a shared inbox and getting lost among invoices. So incoming mail is pulled into the system and sits next to the contact: who was written to, what came back, and which step it stopped at.
How it was done
Under the hood
Platform
PHP with no frameworks, MySQL, its own router and data layer. It installs on ordinary hosting and updates by copying files.
Sending
An external mail service as transport, our own paced queue on top of it, open and click tracking, an unsubscribe page.
Deliverability
Mailbox warm-up, MX and catch-all checks, separate accounting of dead addresses, and a fuse that halts a campaign when bounces rise.
How it turned out
A system in which cold outreach is not “press send and wait” but a controlled process: the address is checked before the queue, the mailbox warms up on a schedule, and sending stops by itself when something goes wrong.
One person runs a base of tens of thousands of contacts without holding mailbox states or provider thresholds in their head — the system shows all of it in a single row at the top.



