Delivery diagnosis / October 2026

Follow one attempt all the way through.

Start with the branch you deployed, one fresh test identity and an approximate attempt time. Mixing staging configuration with production logs can make a correct response look like the cause of a different failure.

Follow the guided questions.

The next questions depend on your answers: a custom send subscription opens sender and endpoint questions; Next.js opens cookie-secret metadata questions. Revisit an answer to discard the later branch and recompute the diagnosis. Unknown answers remain evidence gaps.

Confirm the method before inspecting delivery.

Neon’s documented provider combinations differ: verification codes work with shared or custom providers, while verification links require a custom provider. Compare your selected method with the branch configuration. After verification, inspect the resulting session rather than treating user creation as completion. Verification reference.

Find the sender.

When a matching send event is subscribed, the custom handler takes over delivery. Receiving the webhook and returning success does not itself send a message. Follow that event to your provider’s result. Keep live OTP values, magic links and payloads out of screenshots and diagnostic reports. Email customization reference.

Inspect the signup gate separately.

A user.before_create handler must return successful JSON containing a boolean allowed. A deliberate false decision differs from a malformed response. Use the final HTTPS webhook URL: redirects are not followed. These local checks cannot establish DNS reachability or verify signatures. Webhook contract.

Separate delivery from browser state.

After observing a message, finish the intended verification step. Reproduce your public app in a fresh WebTraceCheck browser session if old cookies obscure the result. For a disposable, non-sensitive test identity, CleanTempMail gives you an inbox to inspect. These optional products share our operator.

Next.js server integration also depends on cookie-secret setup; confirm presence and the documented length requirement without sharing the secret. Current troubleshooting reference.

Turn findings into a useful handoff.

Export the local trace, add the branch label and note which stages you actually observed. The export omits your endpoint and input fields. An unresolved observation is a request for evidence, not proof of a provider outage.

Open the diagnostic →