Skip to main content
MailBreeze follows standard SMTP conventions: a 4xx reply is temporary and your client should retry, a 5xx reply is permanent and retrying will not help.

Authentication

IP whitelists and SMTP. An API key’s IP whitelist is checked against the server making the SMTP connection, which is often not the server that calls the REST API. Applications hosted on platforms with rotating egress addresses — Shopify, Vercel, most PaaS providers — cannot be pinned to a fixed IP. Use a key without an IP whitelist for SMTP.

Sending

Common problems

Most often a revoked or rotated API key. A mail server treats a 535 as a deferral and keeps retrying quietly, so nothing appears to fail. Check your mail log for 535 and confirm the key is still active in your dashboard.
Almost always an IP whitelist on the key. Your laptop and your server connect from different addresses. Remove the whitelist or use a key without one.
Your client is not sending In-Reply-To and References. MailBreeze preserves both when present but does not invent them.
This should not happen. Blind recipients never appear in any header MailBreeze generates. If you see otherwise, check whether your client is placing those addresses in the To or Cc header itself before sending.
Your client generated a different Message-ID on retry, so the two attempts could not be matched. Configure it to reuse the Message-ID when retrying.
Some hosting providers and residential ISPs block outbound 587. Try port 2525, which is offered for exactly this reason.

Checking what happened to a message

The ID returned in the 250 reply is the same one used across the platform. Look it up through the get email endpoint or in your dashboard to see delivery, bounce, open, and click events.