SMTP

Send through Delivrie's SMTP relay from WordPress, Laravel, Django, Rails, Ghost, Supabase Auth, Nodemailer and anything else that speaks SMTP.

Anything that can send over SMTP can send through Delivrie: CMSs, frameworks, no-code tools, printers and legacy apps. SMTP mail gets the same limits, logs, webhooks and suppressions as the API.

Settings

SettingValue
Hostsmtp.delivrie.io
Port587 with STARTTLS, or 465 with SSL/TLS
Alternative ports2587 (STARTTLS) and 2465 (SSL/TLS), for hosts that block the usual ones
Usernamedelivrie
PasswordA Delivrie API key (dlv_...). A sending access key is enough
EncryptionRequired. On 587 choose STARTTLS (sometimes called TLS); on 465 choose SSL/TLS (sometimes called SSL or SMTPS)

The From address must be on a verified domain, the same as with the API.

Examples

Nodemailer

const transport = nodemailer.createTransport({
  host: "smtp.delivrie.io",
  port: 587,
  secure: false, // upgrades with STARTTLS
  auth: { user: "delivrie", pass: process.env.DELIVRIE_API_KEY },
});

Laravel .env

MAIL_MAILER=smtp
MAIL_HOST=smtp.delivrie.io
MAIL_PORT=587
MAIL_ENCRYPTION=tls
MAIL_USERNAME=delivrie
MAIL_PASSWORD=dlv_your_key

Django

EMAIL_HOST = "smtp.delivrie.io"
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = "delivrie"
EMAIL_HOST_PASSWORD = os.environ["DELIVRIE_API_KEY"]

Rails

config.action_mailer.smtp_settings = {
  address: "smtp.delivrie.io", port: 587, user_name: "delivrie",
  password: ENV.fetch("DELIVRIE_API_KEY"), authentication: :plain, enable_starttls_auto: true,
}

swaks (testing)

swaks --server smtp.delivrie.io:587 --tls \
  --auth-user delivrie --auth-password "$DELIVRIE_API_KEY" \
  --from hello@mail.acme.com --to delivered@test.delivrie.io

Step-by-step setup for Supabase Auth, WordPress and Laravel, Django and Rails is in their guides.

What's supported

SMTP replies

ReplyMeaningWhat to do
535Authentication failedThe username must be delivrie and the password a valid API key
550The API rejected the messageThe reply says why, for example an unverified From domain
452A sending limit was reachedRetry later, or check your plan in Billing

After five failed logins from one IP address, logins from that address are blocked for 15 minutes.

Troubleshooting connections

More guides