DigitalPigeon

SMTP

For an application that already sends mail, this is usually three environment variables and no code change. Your message is stored and sent exactly as your app composed it — attachments, custom headers and all.

Host smtp.digitalpigeon.dev
Port 587 (STARTTLS)
Username anything — it is ignored
Password your API key

The username is ignored on purpose. A second credential would be one more thing to rotate without making anything safer, since the key already identifies your account.

Rails

config/environments/production.rb
config.action_mailer.smtp_settings = {
  address: "smtp.digitalpigeon.dev",
  port: 587,
  user_name: "digitalpigeon",
  password: ENV.fetch("DIGITALPIGEON_API_KEY"),
  authentication: :plain,
  enable_starttls_auto: true
}

Anything else

Environment
SMTP_HOST=smtp.digitalpigeon.dev
SMTP_PORT=587
SMTP_USERNAME=digitalpigeon
SMTP_PASSWORD=dp_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Not open to the internet yet

SMTP is running but reachable only from inside our own network while we finish its certificate. Authentication sends your API key, and putting that on the public internet without TLS would hand it to anyone on the path. Use the HTTP API until this page stops saying so.