Skip to main content

Features

SMTP Relay

Point an existing SMTP client at mailkube and keep your code as it is. Same delivery, same logs, same webhooks as the REST API.

Submission over SMTP

Change the host, the port and the credentials in your mailer configuration. The messages your application was already sending are relayed from then on. Framework mailers, no-code tools and long-lived internal services all reach the same submission server.

Connection settings

SettingValue
Hostsmtp.mailkube.com
Port587 (STARTTLS)
EncryptionRequired, negotiated with STARTTLS
UsernameYour SMTP credential’s username, followed by @ and its domain
PasswordThe credential’s secret

Port 587 connects in the clear and upgrades with STARTTLS before authenticating. Disable any unencrypted fallback your client offers.

Credentials and the From address

Create an SMTP credential in the dashboard, bound to one verified domain. Its password is shown once, at creation.

Your username has to carry the domain, myapp01@example.com rather than myapp01. The part after the @ selects the verified domain the session sends for. A bare username is rejected with 5.7.8.

Your From address has to use that same domain. A mismatch is refused with a 550 naming the domain it expected.

An SMTP credential is not an API key. API keys authenticate the REST API, and SMTP sessions authenticate with their own credential.

The same features, in headers

Everything the REST API takes as a JSON field, SMTP takes as a header. Those headers are stripped before the message reaches the recipient.

HeaderEffect
X-Mailkube-TagsA JSON array of { name, value } pairs, the same shape and limits as the REST tags field
X-Mailkube-TopicAttributes the send to a topic, so recipients who opted out of it are filtered
X-Mailkube-Template-IdRenders a saved template server-side instead of the body you composed
X-Mailkube-Template-VersionA version number or latest

A malformed header fails the send with a reply whose text names the problem.

Delivery visibility

An SMTP send is the same message as an API send. It lands in the same delivery logs, counts against the same quota, carries the same tags, and produces the same webhook events. Transient failures at the receiving end are retried, and the message surfaces as email.delivery_delayed until it delivers or runs out of attempts.

SMTP reference and error codes