Transactional Email — SMTP relay
MailerQ SMTP relay.
Transactional Email — SMTP relay
Start here: E-mail — product overview, prerequisites, and how SMTP fits alongside the HTTP API.
Send transactional email through Routee's MailerQ SMTP relay instead of the HTTP API. Use the same Connect application credentials as the REST API.
Connection settings
| Setting | Value |
|---|---|
| Host | smtp10.amdtelecom.net |
| Username | Connect Application Id |
| Password | Connect Application Secret |
| Authentication | PLAIN or LOGIN (after TLS is established) |
Port and encryption
Routee exposes two ports with different TLS behaviour. Choose the row that matches your mail client or library.
| Port | Encryption | When to use |
|---|---|---|
| 25 | STARTTLS | Connect in plain text, run STARTTLS, then authenticate. Most common for server-side integrations. |
| 587 | TLS (implicit / SMTPS) | Open an encrypted connection from the first byte. Do not connect in cleartext and then upgrade with STARTTLS — that path is not supported on this relay. |
Prerequisites: verified sending domain, authorized sender for your From address, and a Connect application with transactional email access.
Find credentials under Applications on go.routee.net (Application Id = username, Application Secret = password).
Examples
Port 25 — STARTTLS (swaks)
swaks --to [email protected] \
--from [email protected] \
--server smtp10.amdtelecom.net \
--port 25 \
--tls \
--auth LOGIN \
--auth-user "YOUR_APPLICATION_ID" \
--auth-password "YOUR_APPLICATION_SECRET"Port 587 — implicit TLS (swaks)
swaks --to [email protected] \
--from [email protected] \
--server smtp10.amdtelecom.net \
--port 587 \
--tls-on-connect \
--auth LOGIN \
--auth-user "YOUR_APPLICATION_ID" \
--auth-password "YOUR_APPLICATION_SECRET"Port 25 — Python (smtplib)
import smtplib
from email.message import EmailMessage
msg = EmailMessage()
msg["From"] = "[email protected]"
msg["To"] = "[email protected]"
msg["Subject"] = "Test"
msg.set_content("Hello from Routee SMTP.")
with smtplib.SMTP("smtp10.amdtelecom.net", 25) as server:
server.starttls()
server.login("YOUR_APPLICATION_ID", "YOUR_APPLICATION_SECRET")
server.send_message(msg)Port 587 — Python (SMTP_SSL)
import smtplib
from email.message import EmailMessage
msg = EmailMessage()
msg["From"] = "[email protected]"
msg["To"] = "[email protected]"
msg["Subject"] = "Test"
msg.set_content("Hello from Routee SMTP.")
with smtplib.SMTP_SSL("smtp10.amdtelecom.net", 587) as server:
server.login("YOUR_APPLICATION_ID", "YOUR_APPLICATION_SECRET")
server.send_message(msg)Node.js (Nodemailer) — port 587 implicit TLS
const nodemailer = require("nodemailer");
const transporter = nodemailer.createTransport({
host: "smtp10.amdtelecom.net",
port: 587,
secure: true, // implicit TLS (SMTPS) — not STARTTLS
auth: {
user: "YOUR_APPLICATION_ID",
pass: "YOUR_APPLICATION_SECRET",
},
});Client configuration tips
| Client / library | Port 25 | Port 587 |
|---|---|---|
| swaks | --tls | --tls-on-connect |
| Python smtplib | SMTP + starttls() | SMTP_SSL |
| Nodemailer | secure: false (STARTTLS auto) | secure: true |
| PHPMailer | ENCRYPTION_STARTTLS | ENCRYPTION_SMTPS |
| MailKit (.NET) | SecureSocketOptions.StartTls | SecureSocketOptions.SslOnConnect |
| WordPress WP Mail SMTP | Other SMTP → STARTTLS, port 25 | Other SMTP → SSL, port 587 |
Tracking
SMTP sends appear in the same delivery logs as HTTP API sends:
- Search —
POST /email/tracking - Timeline —
GET /email/tracking/single/{trackingId}
See Transactional Email API v2 — overview for OAuth and tracking workflow.
Related
- E-mail — documentation hub
- Transactional Email API v2 — overview
- Send a transactional email (HTTP API alternative)
- Portal: Email → SMTP on go.routee.net

