justsmtp.com

Documentation

JustSMTP is a drop-in SMTP relay in front of Amazon SES. Point your existing mailer at smtp.justsmtp.com, authenticate with a credential pair generated in the dashboard, and send. No AWS account, no IAM policies.

Connection settings

These don't change — safe to hard-code or drop straight into an env file.

hostsmtp.justsmtp.com
port (STARTTLS)587
port (dev / restrictive networks)2525 — STARTTLS, same credentials
auth mechanismsAUTH LOGIN, AUTH PLAIN
username / passwordGenerated per credential pair from the dashboard. Shown once at creation — store it in your secrets manager or .env, not source control.

How it works

  1. 01 Your application connects to smtp.justsmtp.com over STARTTLS and authenticates with the username and password from a credential pair.
  2. 02 We accept the message over SMTP, check the sending domain's DKIM and SPF, and hand it off to Amazon SES for delivery.
  3. 03 Every attempt — sent, deferred, bounced, dropped — lands in your activity log with the real upstream SMTP response. We don't retain message bodies; the log keeps metadata and the subject line only.

Integrations

JustSMTP works with any SMTP client. Swap the host, port, and credentials into your existing mailer — nothing else changes.

Node.js

nodemailer
// npm install nodemailer
import nodemailer from 'nodemailer';
 
const transport = nodemailer.createTransport({
  host: 'smtp.justsmtp.com',
  port: 587,
  secure: false,
  auth: {
    user: process.env.SMTP_USER,
    pass: process.env.SMTP_PASS,
  },
});
 
await transport.sendMail({
  from: '"Acme" <hello@mail.acme.io>',
  to: 'sarah@figma.com',
  subject: 'Welcome to Acme',
  html: '<b>You are in.</b>',
});

Python

smtplib
# stdlib — no install required
import os, smtplib
from email.message import EmailMessage
 
msg = EmailMessage()
msg["From"] = "Acme <hello@mail.acme.io>"
msg["To"] = "sarah@figma.com"
msg["Subject"] = "Welcome to Acme"
msg.set_content("You are in.")
 
with smtplib.SMTP("smtp.justsmtp.com", 587) as server:
    server.starttls()
    server.login(os.environ["SMTP_USER"], os.environ["SMTP_PASS"])
    server.send_message(msg)

Ruby

mail
# gem install mail
require 'mail'
 
Mail.defaults do
  delivery_method :smtp, {
    address:              'smtp.justsmtp.com',
    port:                 587,
    user_name:            ENV['SMTP_USER'],
    password:             ENV['SMTP_PASS'],
    authentication:       :plain,
    enable_starttls_auto: true,
  }
end
 
Mail.deliver do
  from    'hello@mail.acme.io'
  to      'sarah@figma.com'
  subject 'Welcome to Acme'
  body    'You are in.'
end

PHP

Swift_Mailer
<?php
$transport = (new Swift_SmtpTransport('smtp.justsmtp.com', 587, 'tls'))
    ->setUsername(getenv('SMTP_USER'))
    ->setPassword(getenv('SMTP_PASS'));
 
$mailer = new Swift_Mailer($transport);
 
$message = (new Swift_Message('Welcome to Acme'))
    ->setFrom(['hello@mail.acme.io' => 'Acme'])
    ->setTo(['sarah@figma.com'])
    ->setBody('You are in.');
 
$mailer->send($message);