Our Email Was Not Sending. We Are Sorry.
Outbound email from ResetKit was misconfigured. Messages we tried to send did not reach people. That is now fixed, and this post exists because you deserve to hear it from us rather than work it out yourself.
If you signed up and no verification email arrived, that was us. If you requested something and nothing came, that was us. Nothing you did was wrong, and there is nothing you need to fix on your end.
What broke
The credentials our mail path depends on were not configured correctly. The consequence is the simple, bad one: mail we attempted to send did not get delivered.
For a service that exists to deliver authentication email, that is the whole product failing. We are not going to dress it up as anything smaller.
What it affected
Anything we send by email, which is most of what we do: account verification, password reset codes, two factor codes and sign in links.
What we did
The configuration is corrected and mail is sending again. If you were waiting on something, request it once more and it will arrive.
If you signed up during the window and never got your verification link, just request a new one from the login page. Your account is intact. Nothing was lost, and there is nothing to re-create.
Why it took us this long to notice
This is the part that bothers us most, and the part worth being honest about.
Our own status check reported email as healthy because a credential was present. Present and working are not the same thing, and we were checking for the wrong one. A revoked password, a wrong value and a correct value all look identical to a check that only asks whether something is set.
So nothing alerted. The site was up, the dashboard was green, and mail was silently going nowhere.
What changed so it cannot happen quietly again
Two things, and the first one is the one that matters.
The status check no longer reports email as passing on configuration alone. It says configured but not verified, which is the truth, and it stays that way until delivery has actually been proven. A check that can only be reassuring is not a check.
There is now a real delivery test, which authenticates against each provider independently and can send an actual message on demand. Independently matters: our send path falls back from one provider to another, so testing the normal path lets a healthy one hide a dead one. Each is now checked on its own.
We are also adding external monitoring so that a failure pages us rather than waiting to be noticed.
The apology
You were owed a working service and did not get one. Some of you signed up, waited for an email that was never coming, and reasonably concluded the product was broken. It was.
Thank you to everyone still here. If this cost you time, or if anything still is not working, write to support@resetkit.dev and it will reach a person.