Notix
SMTP relay

Four settings, and any app sends through Notix.

Your framework, CMS or help desk already knows how to send over SMTP. Give it our host, a port, the username notix and an API key, and its mail is tracked, suppressed and reported exactly like an API send.

Settings

Pick your framework, copy the settings

The same host, port, username and key in the shape each tool expects. Keep the key in an environment variable, never in the code.

No code to rewrite

If your app already sends email, moving it to Notix is a config change. The relay turns each SMTP message into the same send the API makes, so you get logs and webhooks without touching the code that builds the mail.

  • Host smtp.usenotix.dev
  • Username notix, password your API key
  • From address on a domain you have verified
mailer.ts
import nodemailer from "nodemailer";

export const mailer = nodemailer.createTransport({
  host: "smtp.usenotix.dev",
  port: 465,
  secure: true, // implicit TLS
  auth: {
    user: "notix",
    pass: process.env.NOTIX_API_KEY,
  },
});
Ports

A port for every network

Two ways to start TLS, and a backup port for each, for hosts that block the usual ones.

PortEncryptionWhen to use it
465TLS from the startYour client asks for SSL or TLS
587STARTTLSYour client asks for STARTTLS, the usual choice

On port 587 the relay will not accept a login until the connection is encrypted, so your API key never crosses the network in the clear.

One pipeline

SMTP mail is not second class

Whether a message came in over SMTP or the API, it is checked, sent and reported the same way.

Every message on the Emails page

A message from your help desk sits beside one from your API code, with the same events, the same bounce reasons and the same webhooks. An address that bounced or unsubscribed is suppressed for both.

Prefer code? The email API adds batches, scheduling and idempotency keys on top.

Emails

Sent through the API and the SMTP relay
ToSubjectStatus
amara@example.comYour order is on its wayDelivered
kofi@example.comNew ticket #2231Opened
tunde@example.comReset your passwordDelivered
old-address@example.comYour invoiceSuppressed

Plain Python, no package

Any language with an SMTP client works, often from its standard library. Scripts, cron jobs and old services can send through Notix without adding a dependency.

send.py, standard library only
import os
import smtplib
from email.message import EmailMessage

msg = EmailMessage()
msg["From"] = "Acme <orders@acme.com>"
msg["To"] = "amara@example.com"
msg["Subject"] = "Your order is on its way"
msg.set_content("Your parcel left our warehouse today.")

with smtplib.SMTP("smtp.usenotix.dev", 587) as smtp:
    smtp.starttls()
    smtp.login("notix", os.environ["NOTIX_API_KEY"])
    smtp.send_message(msg)
Limits

Clear limits, stated up front

120messages a minute per key
50recipients per message
20 MBlargest message
5ports to choose from

One key, two doors

The same API key works for the API and the relay. Revoke it and both stop at once.

Your domain, signed

Mail leaves from your verified domain with SPF, DKIM and DMARC in place. About deliverability.

Webhooks included

Delivered, bounced, opened and clicked events post to your URL for SMTP mail too.

FAQ

Questions, answered

What are the SMTP settings?
Host smtp.usenotix.dev. Port 465 for implicit TLS or 587 for STARTTLS. Username notix. Password: a Notix API key. The from address must be on a domain you have verified.
Is there a separate SMTP password?
No. The password is an API key, so you manage SMTP access the same way as API access. Revoke the key and its SMTP login stops working with it.
Do SMTP emails show up in the console and webhooks?
Yes. Mail sent through the relay goes through the same pipeline as the API: the same suppression list, the Emails page, open and click tracking and webhook events.
Are there limits on the relay?
A key can send 120 messages a minute through the relay. Each message can name up to 50 recipients across To, Cc and Bcc and be up to 20 MB in size.
Is my login sent in the clear?
No. On 465 the whole connection is encrypted from the start. On 587 the relay refuses a login until the client has switched to TLS with STARTTLS.
From the blog

Further reading.

More on sending and deliverability on the Notix blog.

Send your first email in five minutes.

Verify a domain, copy an API key, make one call. The free plan does not ask for a card.