LockerGnomeFor serious tech professionals with a silly side.
Subscribe

Search

Infrastructureemaildeliverabilityelmspam

Elm creator Evan Czaplicki wrote his own email sender and found sending is about one HTTPS request, yet Outlook users never saw his mail, not even in spam

Signing his mail got it into Gmail inboxes, but Outlook showed nothing, and Czaplicki concluded the $15 per 1,000 emails that companies charge pays for being trusted by inbox providers, which a shared cloud IP block can't buy.

Chris Pirillo, in a letterpress print style, holds an envelope out toward two mailbox slots: one opens to a glowing inbox tray, the other is a blank brick wall with no slot at all.
Illustration: LockerGnome

The question started with a price: “how can companies charge $15 to send 1000 emails?!” Evan Czaplicki (@evancz) asks in his write-up. He’s the name on Elm’s compiler license since 2012, and when Elm’s database backend went into private alpha, “I decided to try sending the transactional emails myself.”

He works mostly in Haskell, calling out to C for things like OpenSSL, and the protocol itself didn’t scare him. “Sending an email is essentially the same as making an HTTPS request,” he writes. The old version of SMTP was chattier than that: “So to send a single email, you originally had to do SEVEN roundtrips!” And with no TLS back then, you got no encryption for all that talking.

The real catch is older than encryption. “The original protocol lets you just claim whatever sender you want,” so receivers now check. You publish TXT records in your domain’s DNS holding a public key, sign each message with the private half, and the inbox verifies the signature.

His first unsigned test went where you’d guess. “But… it showed up in spam.” He added the key and the DNS records and signed messages with OpenSSL. “Now my emails were showing up in my inbox in GMail!” Heck yeah, as he put it.

Then Outlook. “People who used Microsoft Outlook were not even seeing them in spam…” No bounce, no junk folder, nothing for the user to rescue.

His theory lives in a section titled “Old and Goofy Spam Filters.” Each inbox provider scores “the reputation” of a sender its own way, and “other inboxes seem to care more about the particular IP address.” He hosts with a smaller cloud provider and gets whatever address blocks it has, which means “if anyone is sending spam through my cloud services provider, my whole IP address block may get blacklisted.”

Transactional mail is the plumbing every new app needs on day one: sign-up links, receipts, password resets. A small team that tries to self-host it can meet the wall he did, because reputation accrues to whoever already sends a lot. That keeps the market with the services, whatever the sending actually costs.

“In any case, this is where my personal exploration ended,” he writes, and the post closes by asking the collective “spam people down the hall” to say if there’s anything he got wrong, and whether Outlook ever lets his mail through is still open.

More Infrastructure

Every Infrastructure story →