Bulk Email, Automation, and Burnout

yamainu

Newbie
Joined
Oct 4, 2021
Messages
2
Reaction score
1
TL;DR: I’m honestly surprised by how few solutions there are for automating bulk email from your own servers, and I’m curious—is there any real demand for this?

Over the past three years, I’ve made about five attempts to get into bulk email. Every time, I started out full of enthusiasm, ideas, and hypotheses—but then I’d burn out. Apparently, it’s just not my thing, and I don’t even know why. The technical side, though, was always the most interesting part for me.

I tried sending bulk emails from my own servers and, honestly, didn’t achieve any financial results. What really fascinates me is the technical aspect: being able to deliver large volumes of email even from weak, cheap VPSs. I watched and bought every course I could find, read everything I could get my hands on, and so on.

And one thing really surprised me—the lack or poor quality of automation solutions. In the first course I took, there was an automatic installer for PowerMTA. It was a monstrous bash script that ran for about 20 minutes (or more), installed a bunch of totally unnecessary stuff on the server, produced a terrible config, and if anything went wrong, you had to reinstall CentOS just to try again. And yeah, it only worked on CentOS.

In the second course, I bought an installer for about $100. It had a web wrapper, but when I dug in, it turned out to be basically the same awful installer, just slightly modified. Then I saw the same approach in another course.

When I was just starting out, I didn’t care much—this installer seemed almost magical, like it was doing some voodoo I shouldn’t mess with. But as I got deeper, I realized PowerMTA is basically just a set of binaries with minimal dependencies, linked against pretty old libraries, so it can run on a huge number of distros. Installing it is basically just copying those binaries. Sure, there’s a bit more to it, but things like Apache & Dovecot are definitely not needed—they just waste resources. And, by the way, I only found out much later that PowerMTA can actually receive mail too.

So I wrote my own installer for myself, which does things like:
  • System optimization via sysctl & limits.conf
  • Disabling unnecessary services
  • Creating a swap partition so things don’t crash if memory runs out
  • Generating SSL certificates and DKIM keys
  • Generating the config I need based on the number of working IPs on the server
And all this happens in a few seconds. I get a fully ready-to-go server, and I don’t have to edit a single line. Of course, this can be scaled up—say, to configure 100 servers at once, and if you don’t count file uploads, it shouldn’t be much slower than setting up just one. I also had plans for automatic DNS record creation and redirect setup.

That’s why I’m surprised. Sure, pros have their own solutions, and this isn’t for them, but I wrote my own installer pretty quickly, while that infamous script must have taken much longer to write, judging by its size. And I’m still baffled as to why people do all this manually.

By the way, I wrote my installer in Common Lisp. Yep, not for religious, esoteric, or nerdy reasons—I just like it. I even planned to rewrite it in Clojure for portability.

I also used AMS for sending, but I hated its amsweb.php because loads of bots would click my links, and I’d end up with tons of fake clicks and unsubscribes. So I rewrote the script to filter out bots and collect all real users in a separate database on a separate server. It would log the email (encrypted), user-agent, two IPs (original and forwarded), date and time, offer topic, and offer link. There’s no such thing as too much data.

Next, I made my own tool for initial cleaning of email address lists. It does a bunch of checks (including various blacklists), but the main one is checking for MX records on the domain. That alone weeds out a ton of garbage when validating dirty lists. It also fixes typos (gmial.com → gmail.com) and normalizes addresses ([email protected][email protected]).

At one point, I got into data analytics. So I built a solution that collects sending logs (acct files) from all servers into a separate database. Then I can analyze whatever I want with SQL queries, and I planned to move it all to Clickhouse + Apache Superset to build dashboards for all servers. I haven’t found any open-source solution like this, and honestly, I can’t imagine working without it now.

Of course, I had other automation ideas, even up to building my own mailer. I really hate repetitive tasks, and I love when machines can do this stuff for us.

So, here’s my question. Since I can’t really do bulk email myself for various reasons, maybe someone out there needs solutions like the ones I’ve described—or something similar? Maybe I could make some money from this, since I do have some experience. Is there any demand for this? I’d really appreciate any advice.

No, I’m not selling anything right now, since my solutions are still very much tailored to my own needs. But if there’s demand, I might get into it, since I’ve found I enjoy automation way more than the actual bulk emailing part.
 
Yes, there's a high demand specially if you can niche down and make it useful for cold mailers.

Cold mailing generally it's about sending personalized emails with a goal to get replies and book meetings.

You'll need to build a bounce processor, it's petty simple. You'll just need to parse PoweMTA log files to add hard/soft-bounces to a supression list.
 
That was a very insightful breakdown, and honestly, I relate to a lot of what you've shared here.

I've also experimented with GCP and AWS setups for hosting SEO and automation tools, and it's surprising how little user-friendly automation is available for bulk mailing at scale. Most of the existing scripts feel either outdated or overloaded with unnecessary dependencies—like they were never meant for modern setups.

The fact that you took the time to strip it down, optimize the stack, and automate it end-to-end (in Lisp, no less!) shows real engineering focus. And your idea of scaling config generation across 100+ servers in seconds is exactly the kind of solution a serious operation would need.

From my side, I’d say there’s definitely demand—especially among marketers and data-driven SEOs who want to run clean, self-hosted campaigns without relying on bloated platforms or expensive monthly SaaS tools.
 
Yes, there's a high demand specially if you can niche down and make it useful for cold mailers.

Cold mailing generally it's about sending personalized emails with a goal to get replies and book meetings.

You'll need to build a bounce processor, it's petty simple. You'll just need to parse PoweMTA log files to add hard/soft-bounces to a supression list.
Thank you for your reply. I haven't heard of cold emailing before. As I understand, you're talking about database cleaning through actual email delivery attempts via servers. I've developed the following validation strategy, though I haven't tested it yet:
  • Initial cleaning using software validation without sending emails (there is an MX record, not in blacklists, ...)
  • Then actual sending through servers, resulting in these categories:
    • Bounces with statuses like: bad-domain, bad-mailbox, inactive-mailbox, quota-issues — definitely invalid
    • Bounces with other statuses (e.g., rejected due to poor reputation) — gray list for potential retry
    • Delivered emails — but this doesn't guarantee the mailbox exists
Therefore, I set up an MX record pointing to my server for the sending domain, and collect all bounce-back emails on port 25 through PowerMTA into a separate file for processing.

The final clean database would be: delivered emails minus all addresses that generated bounce-back messages. I don't know what else can be done yet. The ideal final database is, of course, mailboxes that have shown some kind of response: a click, a reply, etc.
 
I run a few services related to scraping emails and there's a huge demand, just make it a straightforward as possible for users - upload emails - blast cold email campaign - profit

If you can make it at an attractive price it will be easy to capture market, let me know if u ever launch something
 
Couple of comments:

Streamline database if possible, this will improve speed.
Bounced emails can be analysed via their bounce code, which will tie in with your method of sorting.
A nice to have: a method users can instantly see their external IP reputation. I used to have a script based on this https://multirbl.valli.org/ which was useful if you had 32/64 IP addresses to monitor.
Possible a content spam checker, useful for newbies
 
Thank you for your reply. I haven't heard of cold emailing before. As I understand, you're talking about database cleaning through actual email delivery attempts via servers. I've developed the following validation strategy, though I haven't tested it yet:
  • Initial cleaning using software validation without sending emails (there is an MX record, not in blacklists, ...)
  • Then actual sending through servers, resulting in these categories:
    • Bounces with statuses like: bad-domain, bad-mailbox, inactive-mailbox, quota-issues — definitely invalid
    • Bounces with other statuses (e.g., rejected due to poor reputation) — gray list for potential retry
    • Delivered emails — but this doesn't guarantee the mailbox exists
Therefore, I set up an MX record pointing to my server for the sending domain, and collect all bounce-back emails on port 25 through PowerMTA into a separate file for processing.

The final clean database would be: delivered emails minus all addresses that generated bounce-back messages. I don't know what else can be done yet. The ideal final database is, of course, mailboxes that have shown some kind of response: a click, a reply, etc.
Hi, if you have a lot of personal emails, you can clean the list even without SMTP.
 
Back
Top