惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
D
Docker
S
SegmentFault 最新的问题
博客园 - 聂微东
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
GbyAI
GbyAI
L
LangChain Blog
Vercel News
Vercel News
博客园 - 叶小钗
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
Engineering at Meta
Engineering at Meta
T
Threat Research - Cisco Blogs
T
Threatpost
Scott Helme
Scott Helme
T
Tailwind CSS Blog
Latest news
Latest news
Stack Overflow Blog
Stack Overflow Blog
Blog — PlanetScale
Blog — PlanetScale
The Register - Security
The Register - Security
罗磊的独立博客
P
Proofpoint News Feed
腾讯CDC
S
Schneier on Security
雷峰网
雷峰网
A
About on SuperTechFans
T
Tenable Blog
F
Full Disclosure
Cyberwarzone
Cyberwarzone
博客园_首页
有赞技术团队
有赞技术团队
K
Kaspersky official blog

文章列表

Compulsive curiosity, or, how I built an infinite idea machine Gift details on the subscriber portal Portal link in the archive nav The physicists who convinced Fermilab to send Brazil's emails First, add no friction: How micropayments lost and subscriptions won Filter subscribers and automations by source Automations, rebuilt What email will look like in the future Filter subscribers by bounce date and reason Email could have been X.400 times better Three features are moving behind the paywall Firewall changes and improvements Put your name and voice into your company newsletter Simplified email address settings Subscription wall Inboxes were overwhelming before we'd even named them The US government tried really hard to screw up email Public postmortem: database connection exhaustion Ask a nerd: what is the best way to unsubscribe from newsletters? Bookshop.org embeds Email was into agents before they were cool Passwordless login Rename metadata keys in bulk A spring cleaning for our legal docs Ask a nerd: what happens when you click the spam button? Passkey support for two-factor authentication How Buttondown's API versioning works Safer defaults for the email creation API How to send email to space How we enabled Content Security Policy for everyone Recovery codes for two-factor authentication Filter sent emails by engagement rate How we migrated to TypeIDs without breaking clients How we check every link in your email Use newsletter metadata in your emails Should we bring back email exploders? Sort and filter by open and click rates Custom click tracking domains More newsletter settings in the API Revamped replies Custom email templates for everyone Simplified cancellation Ask a Nerd: Does email length affect deliverability? The changelog, reborn Swedish localization Forwarding an email is not always straightforward Public descriptions for tags OpenAPI spec for archives How Rodrigo brings a humanistic view to consumer technology Subscribers can come from anywhere. Even another newsletter platform's form. Survey responses on the web How Brandon Lucas Green shares his music and supports artists Your newsletter's archives are more valuable than your list Better tag self-management Smarter automation filters Granular API keys Snippets New design settings pages Ask A Nerd: How does newsletter cadence affect deliverability? Starred views More ways to customize your archives Inbox filtering Mastodon follower analytics Ask a Nerd: What are good open, click, and response rates for an email newsletter? How we migrated our database to PlanetScale Two new archive themes Custom buttons now work in Markdown mode Ask a Nerd: Does attaching files to your newsletter hurt deliverability? Seline and Tinylytics support Unban subscribers Announcement bars for your archives Bang paths, source routing, and how email trips were planned Public postmortem: archive downtime 2025 disposables.app Russian localization Ask a Nerd: Can you improve email deliverability with a personal domain? More locale options How we interview customers at Buttondown Bluesky analytics Reply to conversations Minimum viable complexity How Jeffery Hicks goes behind-the-scenes in his newsletter Changes to our stack in 2025 2026: Emails What the hell is a UTM? TK reminders in the editor Randomize survey answer order Why we insourced analytics Scroll sync in the editor 2026: Archives How Jamie Thingelstad uses Buttondown to explore tech topics How Kelly Jensen uses Buttondown to discuss key library issues Improved filters Keeping feature creep at bay Content Security Policy in archives Open source Sniperl.ink Auto-activating RSS reader subscriptions What the hell is ActivityPub? Gift subscriptions
You should have a can-do attitude about CAN-SPAM
Ryan Farley · 2025-05-30 · via

One of the earliest attempts to tackle spam online sent so many automated notifications to list subscribers in a short timeframe that it crashed an email server. It was 1993 and Dick Depew had created a program to flag and “cancel” certain types of Usenet messages. What could go wrong?

Dick had forgotten to exempt cancellation announcements from his moderation filter, creating a recursive loop where those very messages generated new cancellations, which generated more, and so forth. The event “inspired widespread resentment among those who pay for each message they have downloaded.” He was pilloried and, for the first time in Usenet history, shamed for spamming.

Ten years and ten days after Depew’s Frankenstein program terrorized news.admin.policy, CAN-SPAM was introduced on the Senate floor to provide a legal framework for dealing with “extremely rapid growth in the volume of unsolicited commercial electronic mail.” Don’t let the 1-star rating on Goodreads fool you–it’s riveting stuff. More than 10,000 words of legalese to inspire fear, anxiety, and confusion about how to send your newsletter without getting into trouble!

I’m kidding. Many of CAN-SPAM’s requirements are handled by newsletter platforms on the backend. And, for what it’s worth, most newsletters aren’t subject to its rules in the first place (but I’m no lawyer!). What newsletters are subject to, however, is a hit to deliverability when subscribers mark an email as spam, an avenue for retribution that has absolutely nothing to do with CAN-SPAM. So, take care of the very few things it asks of you and work your way up from there.

Stuff you don’t need to worry about

While the word “unsubscribe” never appears in the 2003 draft of CAN-SPAM, it’s arguably the most impactful part of the law. Recipients expect (nay, deserve) a way to opt out of future emails. Anyone who wants out but can’t find the link will hit that Report Spam button faster than Dick’s Automated Retroactive Minimal Moderation script flooded Usenet.

After more than 21 years on the books, the internet collectively agrees that one-click unsubscribe is the best opt-out option. It’s the tag in email headers that lets clients like Gmail show an unsubscribe button, typically next to the From field, in email newsletters. Absent that, there should be unsubscribe links at the bottom of all your emails. At this point, though, you’d almost have to go out of your way to find a platform that doesn’t include both options and makes them impossible to disable. One less thing to worry about–huzzah!

What are left up to you to monitor, however, are direct replies to your newsletter. You should respond to them as quickly as possible since it shows subscribers and email processors that you are a sender acting in good faith. And, for CAN-SPAM compliance, you must remove anyone from your list within 10 business days if they send a plain language request to be unsubscribed.

Similarly, your newsletter platform can steer you toward CAN-SPAM's physical address requirement by making it a prerequisite for account approval. If your newsletter is primarily commercial or promotional, every one of your emails must include a physical address. But, it does not have to be your home address! It can be a PO box, or a private mailbox. (If you’re a Buttondown user you can use our address: 304 S. Jones Blvd #3567, Las Vegas NV 89107.)

Finally, there are a handful of technical things that happen in the background to prevent you from providing what CAN-SPAM calls “header information that is materially false or materially misleading.” But the tl;dr is that, for the most part, everything at the very top and bottom of the email is likely railroaded by your newsletter platform to forestall noncompliance with CAN-SPAM.

Everything in between is up to you.

How to avoid being labeled a spammer

Even though the remaining requisites aren’t exactly black-and-white, adhering to them is as easy as whipping up a spam, egg, spam, spam, bacon, and spam breakfast. First, don’t add people to your list who didn’t ask to be added. Second, don’t send anything deceptive, manipulative, or misrepresentative. That’s all!

In 2003, when the CAN-SPAM bill was drafted, the phrase to describe spammy list growth was “address harvesting.” That includes web scraping, so-called “dictionary attacks” (randomly guessing thousands of email addresses to send to), and buying lists. Double opt-in acts as a fantastic failsafe here but isn’t applicable 100% of the time, such as when someone confirms their subscription via checkout process on another platform like Shopify. If a subscriber doesn’t sign themselves up via a form you created (e.g. on your website, eCommerce page, or newsletter archives), they shouldn’t be on your list.

For the people that you do end up sending to, CAN-SPAM is particularly concerned with the name your newsletter shows in the From: field and the contents of the subject line. You cannot, for example, list your name as Keanu Reeves (there’s only one!) and promise a puppy cafe date (who could resist!?). The honesty clause also applies to the body of your email, though, and one of the first criminal cases tied to CAN-SPAM involved emails advertising “bogus diet patches.”

Speaking of advertising, it’s worth reiterating that consumer expectations of CAN-SPAM’s requirements are generally much higher than what’s actually included in the law. For instance, most of your subscribers probably want you to call out when you’re being paid by a third party to include something in your newsletter. That doesn’t seem to be required based on the current wording. But you should do it anyway (and it may be required by the FTC)!

Avoiding Uncle Spam is an excellent baseline

All that’s required of you to stay on the right side of America’s foremost anti-spam rules is to pick a reputable newsletter platform, respond to unsubscribe requests, include a physical address in your emails, only add people who want to be added, and be honest. But as Dick Depew learned the hard way, the legal and cultural definitions of spam can have less overlap than you’d expect.

Thankfully, going “above and beyond” doesn’t actually require going all that far. As long as you aren’t too pushy with your sales pitches, overdoing it with affiliate or suspicious links, inserting broken links and images, or sending emails more often than people want, you’ll be just fine. If you have the technical chops, you can dig into the weeds a bit with Postmark's spam score checker and Google’s Postmaster Tools.

Then, when you have the time, you might start thinking about how to avoid the annoying-but-not-as-maligned Promotions tab in Gmail. All that really matters, though, is creating fun and interesting content for people who took the initiative to sign up for your work.

Do that and no one should mark your messages as spam.