blog.chay.dev

Wtf Postmark

After [redacted] made my [redacted] non-functional and attempted to charge me $200 bucks a year for the "pro tier" features I was using (they offered no way to disable them after the trial ended!) to restore the service, I made the impulsive decision to roll my own [redacted].

No names. My product is in stealth mode now, since umm.. the moat isn't very wide.

My wife had a similar experience with Blackmagic's DaVinci Resolve. She unwittingly used some "pro" features in a video, and one day before the submission the whole project was locked behind a paywall. She had to rent the software for a month to complete her project. Free software indeed.

So I started a new repo, sketched out some data structures, created some UI elements, and - thanks to the shiny new Phoenix 1.8.0-rc.0 - implemented user auth with magic links in a snap.

To make magic links work in production, I needed to send emails. Postmark is easily my favourite email delivery service. It has everything expected of good modern software: simple to use, decent pricing, great UX, beautiful design.

I logged in to a personal account I haven't touched in months, generated a fresh API key, configured my app's Postmark adapter, opened my app (which I deployed on fly.io) and tested the user registration flow using my personal email. I waited for the email. And waited. No emails. It's not in Junk too.

Meh, I must have misconfigured something. I don't see any error logs on fly's console. So I opened an IEx shell in prod, created an email and sent it out manually to see what's up. It returned a success message! I checked my inbox once again. Nothing.

Postmark has a "try our API using curl!" thing, so I tried sending myself an email using that too. 200. No errors, no emails. But nothing shows up in my activity history. Screw it, maybe I misconfigured the whole thing during onboarding many months ago. I created a new server, new API keys. Still, nothing works.

Perhaps it's a Postmark problem. I dropped the support team a message, dusted off my old Mailgun account, generated API keys, reconfigured my app, blah blah blah. Voila. It is indeed a Postmark problem. What a silly momentum stopper.

This morning, I woke up to a crapload of emails from myself, and a reply from Postmark support:

Hi Chay, 

Thanks for reaching out and happy to help here. 

Your Postmark account had been inactive for a handful of months, not sending out any outbound messages. As a measure to help prevent abuse from being sent from the account, we paused sending and queued any new messages. 

To help here, I've now gone ahead and restored sending to your Postmark account. Any queued messages have now been sent out. 

Apologies for any confusion around that. We are currently working on improving that inactive account workflow so that users are made aware that sending is temporarily paused due to inactivity, while including the necessary steps to get sending resumed. 

Thank you for reaching out to us about this, and let us know if you run into any other questions! 

Wtf Postmark? Are you expecting all your inactive customers to go through the experience of being gaslit repeatedly by success messages, and eventually turning to support, in order to get their account reactivated?

Fortunately (for customers), Postmark has plenty of A-tier alternatives out there. It's also the kind of SaaS that you just set-and-forget, once you get it to work. I'd use Postmark for my next project, but I probably won't switch back to it for this one.

Unless Mailgun screws up somehow.

#dev