SullysBlog

Domain investing tips, strategies, and industry insights

Advertisement
Grit Podcast #75 - Notable Domain Sales Q4 2025 - Q1 2026
Advertisement
Infinite Designs, Inc.
Advertisement
NotRenewing.com
Apparently I've Been Sending Spam

Apparently I've Been Sending Spam

A subscriber emailed me to say the NotRenewing daily was landing in his spam folder.

That's a good email to get, by the way. Most people don't bother. They just stop seeing your newsletter and eventually forget it existed, and you never find out because your open rate drifts down a point a month and you tell yourself it's summer.

My first reaction was defensive, and I want to be honest about that. The daily goes to people who signed up for it. There's a working unsubscribe link at the bottom. SPF passes, DKIM passes, DMARC passes, and it all goes out through a legitimate provider. It's about as far from buying half a million addresses and blasting out miracle weight loss pills as you can get.

Spam filters don't care about any of that.

So I went and read the headers, and I spent the first stretch of it looking in the wrong place.

The flag that grabbed me was URIBL_BLOCKED. That sounds about as bad as anything you want to find in an email header. The newsletter is full of domain names and every listing links back to NotRenewing.com, so when you see what looks like a URL blacklist hit, your first thought is that one of the names you're promoting dragged the whole email down with it.

Wrong. That rule scored 0.00. All it was saying is that a blacklist lookup got throttled, not that any domain in the newsletter had actually landed on a list.

I was glad to cross it off, and not just for the obvious reason. When you're running a marketplace with names submitted by hundreds of different sellers, you can't sit down and research the email reputation of every domain that shows up in a daily send. There's no version of that job that ends.

The real problem was mine.

Anybody who's been to NotRenewing knows the pitch. Domains are $99. That simplicity is the part I like best about the whole thing, so of course I put it in the subject line every morning:

NotRenewing Daily, 25 Curated Domains at $99

SpamAssassin hates that. It tripped a rule called SUBJECT_HAS_CURRENCY, which added a full point to the score before the filter even got around to reading the rest of the message. I'd hardcoded the price into the subject template myself, so I was starting every single send a point behind, every day, for months.

Easy fix. Take it out. "25 Curated Domains on NotRenewing Today" does the job, and the reader already knows what NotRenewing is. I don't need to explain the business model in the subject line every morning like we've never met.

Then I got to the part that actually cost me points, and this is the piece worth your time.

Most of the score came from a Bayesian filter, which means there was no single thing to strip out. No bad word, no broken DNS record, no mystery domain sitting on a list somewhere. It was the shape of the email.

So look at it the way the machine does instead of the way a domain investor does.

The subject says $99. The preheader says "All names $99. No more, no less." Then there are 20 or 30 domains in the body. Each one has a $99 price button. Each listing carries two separate links, one on the name and one on the button. By the time the thing renders in somebody's client, you've got dozens of instances of the same dollar figure and somewhere between 50 and 70 URLs sitting in a single email.

To me that reads as "here are today's domains."

To a filter it reads like BUY THIS $99 CLICK $99 CLICK $99 CLICK.

Put that way, I stopped being surprised by the number. And here's the part I hadn't thought about at all: Bayesian filters learn from what they see. Send the same structure a hundred and fifty mornings in a row and you're not just failing one test, you're patiently teaching somebody's mail server what your email looks like. I built the template once, in an afternoon, and then it went out unchanged every day while quietly getting worse at its job.

I've always treated deliverability as a checklist. Get SPF right. Set up DKIM. Put DMARC in place, use a real provider, never buy a list, make unsubscribing easy. Every bit of that still matters. But you can do all of it correctly and still hand-build an email that looks suspicious, and nothing on the checklist will tell you so.

The duplicate links bother me the most, honestly, because I know exactly why I did it. From a design standpoint, making both the domain name and the price button clickable feels like a courtesy. Two ways to get where you're going. Except there's no actual reason for two links pointing at the same page. Thirty domains, two links each, and I can cut the URL count nearly in half by deleting the redundant one. The reader loses nothing. That's a better fix than gutting the newsletter until nobody wants to open it.

Printing $99 next to every name is harder. Flat pricing isn't decoration, it's the whole identity of the marketplace. But it did make me work out something I probably should have figured out a while ago, which is that a thing being central to your business doesn't mean it needs to appear thirty times in one email.

One other flag looked alarming and wasn't. FORGED_SENDER, which sounds worse than URIBL_BLOCKED, turned out to be an artifact of how the provider handles sending and bounce addresses. Authentication was passing across the board and nobody was spoofing anything. Lesson being, don't panic at the name of a spam rule before you know what it's measuring. Those headers are full of labels that sound catastrophic on the first read and a lot of them barely move the score.

There's also a piece of this I don't control. Filtering doesn't stop when the email leaves my provider. The recipient's mail server runs its own system, and that system may be learning from what that particular person does with their mail. Worth passing along: if somebody tells you your newsletter is missing, have them log into webmail directly and look in the actual junk folder. If they're on POP, they may only be pulling from the inbox, which means a message routed into a server side spam folder just sits there forever without ever reaching the program they read mail in. Marking it as not spam teaches that filter the subscriber wants it.

None of which lets me off the hook. If my newsletter is building the exact profile filters were designed to catch, blaming somebody's mail host is a cop out.

So the price comes out of the subject line, the duplicate links go away, and I'll experiment carefully with how often $99 needs to appear in the body. I'm not trying to outsmart the filters. I'd just rather stop handing them the pattern they were trained on.

There's a version of all this for anybody doing outbound, too. If my opt-in newsletter can run up a spam score on repetitive pricing and too many links, think about what happens when somebody fires the same sales template at 500 businesses. Premium domain for $2,999. Four links in the signature block. Same wording, same subject format, sent again and again for months on end.

And then we wonder why outbound got harder.

Sometimes it isn't that Gmail or Microsoft or some corporate mail server has it in for domain investors. Sometimes we're just doing a very convincing impression of the thing they built the filter for.

I still think simple wins, in sales emails and newsletters and most other places. Say the thing, give the reader one obvious place to click, and quit repeating yourself. I had to learn that last part from a spam header and a guy who was nice enough to write me, which is a little embarrassing for somebody who wrote a book about email.

Share:

0 Comments

Leave a Comment

Your email will not be published.

No comments yet.

Be the first to share your thoughts!