Email — HTTP API vs SMTP relay

HTTP vs SMTP comparison

Email — HTTP API vs SMTP relay

Start here: E-mail — documentation hub.

Routee Transactional Email supports two send paths. Both use the same Connect Application Id and Application Secret, write to the same delivery logs, and require a verified domain and authorized sender.

Comparison

HTTP APISMTP relay
Best forModern apps, microservices, serverless, JSON-native stacksExisting MTAs, CMS plugins (WordPress, Laravel), legacy mail configs
Connect toPOST https://connect.routee.net/transactional-emailsmtp10.amdtelecom.net
Auth per requestOAuth Bearer token (scope=transactional_email)SMTP AUTH — Application Id = username, Application Secret = password
Message formatJSON (html, text, attachments, headers)Standard MIME (RFC 5322)
Immediate responseHTTP 200 + trackingIdSMTP 250 acceptance
Callbacks on sendcallback.statusCallback, callback.eventCallback (HTTP API only)Not configured in MIME — use tracking API or portal logs
Scheduling / TTLscheduledDate, ttl, maxAttempts in JSON bodyDepends on client; Routee accepts standard SMTP submission
Billing flagisSingleChannel: true required on every HTTP sendN/A (account resolved at SMTP auth)

When to choose HTTP

  • You already use Connect OAuth for SMS, Viber, or other Routee APIs.
  • You want structured JSON, attachments as base64, custom headers, and DSN options in one request.
  • You need delivery or open/click webhooks configured at send time.
  • You run serverless or API-first backends without an outbound SMTP client.

Guide: Transactional Email API v2 — overview

When to choose SMTP

  • You already have Postfix, Exim, Sendmail, or a CMS mail plugin configured for SMTP relay.
  • You migrate from another ESP without rewriting the send layer.
  • Your ops team standardizes on port 25/587 relay rather than REST.

Guide: Transactional Email — SMTP relay

TLS summary (SMTP only)

PortMode
25Plain connect → STARTTLS → AUTH
587Implicit TLS (SSL from first byte) → AUTH — do not use STARTTLS on cleartext 587

Tracking (both paths)

ActionHTTP API
Search logsPOST /email/tracking
Full timelineGET /email/tracking/single/{trackingId}
PortalEmail → Logs on go.routee.net

Allow 1–2 minutes after send before log rows appear.

Guide: Email tracking, statuses & callbacks

Prerequisites (both paths)

Complete before first send — see Domain & authorized senders:

  1. Active transactional email subscription
  2. Verified sending domain (SPF + DKIM)
  3. Authorized sender for your From address
  4. Connect application with transactional_email scope

Related