Skip to main content
MailBreeze accepts mail over SMTP as well as through the API and SDKs. If your application, plugin, or server already speaks SMTP, you can point it at MailBreeze by changing four settings.

No code changes

Anything with an SMTP config form works: WordPress, Laravel, Rails, Django, Postfix, CRMs, scanners.

Same platform features

DKIM signing, suppression lists, open and click tracking, and delivery logs apply exactly as they do to API sends.

Connection settings

Use port 587 unless your host blocks it. Port 2525 exists for networks that block 587, and 465 for clients that require implicit TLS.
The username is literally the word apikey. Your API key goes in the password field.

Which API key to use

Any active API key for a verified domain works — there is no separate SMTP credential to create. Use the same keys you manage in your dashboard.
An API key used in a mail configuration has the same access as one used against the REST API. Treat a printer, plugin, or server config as you would any other place you store a key.

What is required

Your sending domain must be verified before you can send, over SMTP or otherwise. See Domain Verification. The MAIL FROM address must be on that verified domain. Sending as another domain is rejected:

Encryption is mandatory

The server refuses to accept credentials on an unencrypted connection. Clients must issue STARTTLS on ports 587 and 2525, or connect with implicit TLS on 465. Attempting to authenticate first returns:
The server presents a certificate for smtp.mailbreeze.com issued by Let’s Encrypt, so certificate verification should be left enabled in your client.

Next steps

Configure your client

Settings for WordPress, Laravel, Rails, Django, Nodemailer, and Postfix.

Limits and behaviour

Message size, recipients per message, headers, and Bcc handling.

Response codes

What each SMTP reply means and how to react to it.

Use the API instead

Templates, attachments by ID, and scheduling are API-only.