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

SettingValue
Hostsmtp10.amdtelecom.net
UsernameConnect Application Id
PasswordConnect Application Secret
AuthenticationPLAIN 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.

PortEncryptionWhen to use
25STARTTLSConnect in plain text, run STARTTLS, then authenticate. Most common for server-side integrations.
587TLS (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 / libraryPort 25Port 587
swaks--tls--tls-on-connect
Python smtplibSMTP + starttls()SMTP_SSL
Nodemailersecure: false (STARTTLS auto)secure: true
PHPMailerENCRYPTION_STARTTLSENCRYPTION_SMTPS
MailKit (.NET)SecureSocketOptions.StartTlsSecureSocketOptions.SslOnConnect
WordPress WP Mail SMTPOther SMTP → STARTTLS, port 25Other SMTP → SSL, port 587

Tracking

SMTP sends appear in the same delivery logs as HTTP API sends:

  • SearchPOST /email/tracking
  • TimelineGET /email/tracking/single/{trackingId}

See Transactional Email API v2 — overview for OAuth and tracking workflow.

Related