Email sending is no longer API-only. Any application or library that speaks SMTP can now send through Cosmoner using the credentials you already create for a verified domain — no code changes beyond a host, port, and password.
Connecting
| Setting | Value |
|---|---|
| Host | smtp.cosmoner.com |
| Port | 587 (STARTTLS) or 465 (implicit TLS) |
| Username | The smtpUsername returned when you created the credential |
| Password | The password shown once at creation |
Both ports require TLS, and authentication is refused over an unencrypted connection. Use whichever your mail library defaults to — they behave identically.
What the relay checks
Every message is authorised before it is accepted:
- The credential must belong to a domain that has passed DNS verification.
- The envelope sender must exactly match the address configured on the
credential. The relay also uses that address as the visible
Fromheader. - Your project must be within its hourly, daily, and monthly send allowances.
If a message is rejected, the relay answers with a standard SMTP status code
rather than silently dropping it. Temporary conditions — a rate limit, a
paused project — return a 4xx, which means your mail library will retry on
its own schedule and you do not need to build retry logic around it. Permanent
problems, like sending from a domain you have not verified, return a 5xx.
Delivery tracking is unchanged
Messages sent over SMTP produce the same delivery, bounce, complaint, open, and click events as messages sent through the API, and count toward the same send limits and billing. Mixing both in one project works exactly as you would expect.
See the SMTP setup guide for the full walkthrough, from enabling a domain to creating credentials.