SMTP relay
Send email through TickOS from any app or library that speaks SMTP.
The SMTP relay lets existing apps, frameworks and tools (WordPress, Laravel, Django, nodemailer, monitoring tools, ...) send email through TickOS without using the REST API. Messages go out through the same infrastructure and rules as POST /v1/emails, and every send is logged in the dashboard (Settings > SMTP).
Connection settings
| Setting | Value |
|---|---|
| Host | smtp.tickos.dev |
| Port | 587 |
| Encryption | STARTTLS (connect in plain text, then upgrade). Set secure: false / use_tls in most libraries. |
| Username | tickos_user (always this literal value, not your email) |
| Password | A TickOS API key (sk_...) |
| Max message size | 25 MB |
Any active API key of the workspace works as the password; the key determines which workspace the message is sent from and is charged to. Create a dedicated key for SMTP in Settings > API Keys so you can revoke it independently. A revoked or deactivated key stops working immediately (535).
Sending rules
Each message is checked before delivery with the same rules as the Emails API:
- Sender: both the envelope sender (MAIL FROM) and the From header must be on a verified sending domain of the workspace (Settings > Domains). The domain must match exactly; a subdomain needs its own verification.
- Recipients: at most 50 unique recipients per message (To, Cc and Bcc combined).
- Plan limits: monthly email quota plus the daily and hourly sending limits of your plan. Each accepted message counts as 1 email toward the monthly quota.
- Suppressed recipients (previous hard bounces or undeliverable addresses) are skipped silently; the rest of the message is delivered. If every recipient is suppressed, the message is rejected.
- Workspaces whose email sending is suspended cannot send.
- A null sender (MAIL FROM:<>) is not allowed.
Open and click tracking
Tracking is off by default. Add these headers to the message to enable it. They are removed before delivery and only apply to messages with an HTML part.
| Header | Effect |
|---|---|
| X-Track-Opens: true | Adds a 1x1 tracking pixel to the HTML body. |
| X-Track-Clicks: true | Rewrites links in the HTML body to track clicks before redirecting. |
Tracked messages are stored as outbound emails in the workspace so their opens and clicks can be reported.
SMTP response codes
Rejections are returned as standard SMTP replies during the session, so your client or library surfaces them as send errors. 4xx codes are temporary (retry later); 5xx are permanent (do not retry without fixing the cause).
| Code | Meaning |
|---|---|
| 535 | Invalid credentials: username is not tickos_user, the API key does not exist, or the key is revoked or inactive. |
| 553 | Sender not allowed: the From / MAIL FROM domain is not a verified sending domain of the workspace, the address is invalid, or the sender is null. |
| 550 | Sending suspended for the workspace, all recipients are suppressed, or the message was rejected by the mail provider. |
| 552 | Message exceeds 25 MB. |
| 452 | Too many recipients (more than 50) or a plan sending limit was reached (monthly, daily or hourly). |
| 451 | Temporary error. Retry later. |
| 454 | Temporary authentication error. Retry later. |