I always wondered why for example CodaLab and Ghost don't send e-mail directly. E-mail, SMTP, isn't a complicated protocol as I understand it. You've got some plain text and a simple way of sending it on top of TCP, what's to understand? So why pay for a service when you could just send it directly?
I did some research, and it turns out there are lots of good reasons:
- Your IP can and will be immediately blacklisted by all e-mail providers for sending bulk e-mail over SMTP. Presumably if you want to send bulk e-mails, you have to "go through the proper channels." That's what you're paying for when you pay for e.g. SendGrid or Mailgun — not having to go through the trouble. (How much trouble is it, you might ask.)
- I think in addition to the above, you have to authenticate your e-mail via DMARC, which is another bureaucratic hurdle.
- Between the above two things, it is easy to get blacklisted or otherwise screw up authentication so that your e-mails of whatever kind don't go through to some percentage of recipients. If this happens you may never know. Your efforts will just seem weirdly unproductive. If you're lucky you might get a complaint from a user who never got their pasword reset e-mail.
- There are laws about e-mail marketing. Breaking those means fines. How much money, I don't know, and that is worth asking. I get the impression it is "Too much." Sounds like just telling people about a thing (by bulk e-mail) counts as marketing for legal purposes. E-mail marketing services protect you from liability by (a) preventing you from breaking the laws, and (b) informing you of any laws they can't automatically enforce.
- When you send bulk e-mail, the server has to spend CPU time sending the message to each recipient. So there's a CPU time cost. On a shared host this is especially bad because you can get throttled using too much CPU time for bulk e-mail. It sounds like the cost of sending a bulk e-mail should scale with the number of recipients. So, besides the other things, you're paying e.g. SendGrid for CPU time to send e-mails.
- Analytics. Providers often offer analytics tools so you can see how many of the recipients opened a given e-mail, how many clicked the links, etc. This helps to know what is working. Businesses love this shit. Private individuals may be morbidly curious.
These are the major reasons e-mail marketing and e-mail sending services exist. Besides those, there are more minor benefits conveniences providers offer:
- Unsubscribe links. This is part of complying with laws as I understand it, but it's essential anyway even if it weren't.
- Templates. You can write a template to use so that you can quickly write e-mails with a consistent and unique look. Important for business, and nice to have for not-a-business.
None of this means these services are cheap in absolute terms. Mailgun is supposedly one of the cheaper ones. To reach an audience of 65k (roughly Visa's audience on Twitter, last I checked) say once a week, or 4 times a month, you'd have to send 260,000 e-mails a month. At current prices, that's $235 a month at the lower "Foundation" tier or $223 a month at the higher "Scale" tier. That's $2,676 a year at the lower price and higher tier. Even cutting back to one e-mail a month (so 65,000 total) that's $900 a year at the Foundation tier. Other services are indeed even more expensive.
Given how expensive most services are, I wonder about TinyLetter, how long it might remain free and under what conditions. I doubt the business features are the main reason e.g. Mailgun is expensive — otherwise I would expect there to be a cheap paid service that does what TinyLetter does. My guess is it's a loss leader for MailChimp, the parent company, but how long they'll be happy to run it like that I don't know.