Back to home

SMTPDog developer documentation

Clear integration guides: domain verification, SMTP and Email API, API keys, webhook signatures and troubleshooting.

02 · smtp

SMTP integration

Keep your SMTP client and send single-recipient messages over an encrypted connection.

1. Connection settings

Confirm the public host, port and certificate hostname with the deployment owner. Source defaults are 587 STARTTLS and 465 implicit TLS, not verified public endpoints. AUTH PLAIN / LOGIN uses the API Key as its password; the username is a client label and is not used for identity verification in the current implementation.

Field / settingType / statusDescription
host / portconfigurationPublic configuration needs confirmation; source defaults are not sufficient
TLSSTARTTLS / implicitEnable encryption and certificate validation before AUTH
usernamestringClient label; not currently an identity check
passwordAPI KeyFull API Key, not the account password

2. Encrypt before authentication

With STARTTLS, connect, EHLO, upgrade to TLS, then EHLO and AUTH. With implicit TLS, encrypt from connection establishment. Always validate certificates; disabling validation is not a fix for certificate errors. AUTH is not allowed on an unencrypted connection.

SMTP_HOST=${SMTPDOG_SMTP_HOST}
SMTP_PORT=${SMTPDOG_SMTP_PORT}
SMTP_USERNAME=${SMTPDOG_SMTP_USERNAME}
SMTP_PASSWORD=${SMTPDOG_API_KEY}
SMTP_TLS_MODE=${SMTPDOG_SMTP_TLS_MODE}

3. Content and recipient limits

Each message accepts one RCPT TO; a second is rejected. The gateway extracts Subject and text/html and rebuilds the message. Attachments and extra headers are not fully preserved, and CC/BCC are unsupported. An allowed attachment extension does not mean the attachment will be delivered. It also reads the display name in the From header (used only when its address matches MAIL FROM), Reply-To, List-Unsubscribe, List-Unsubscribe-Post and Auto-Submitted.

4. Troubleshoot connections

For authentication failures, check TLS and the API Key. For permission failures, check the verified sending domain and key scope. For quota failures, check total, daily and hourly limits. 451 often signals a temporary failure, 452 can indicate quota or multiple recipients, and 550 can indicate content or permission issues. SMTP acceptance is not final delivery and does not expose the HTTP message_id.