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.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
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.