Sending
Connect via SMTP
The universal escape hatch. If your provider is not listed — or if you want to use Gmail App Passwords, Zoho, or your own Postfix — use the SMTP adapter.
Overview
SMTP is the lowest common denominator of email delivery. Any SMTP server works — hosted providers, self-hosted Postfix, or even a Gmail App Password for low-volume sends. Use the native adapters (Postmark, SES, etc.) when available — they give you better delivery event tracking. Fall back to SMTP when you need something the native adapters do not cover.
NATIVE ADAPTERS PREFERRED
Common SMTP providers
| Provider | Host | Port | Secure | Notes |
|---|---|---|---|---|
| Gmail (App Password) | smtp.gmail.com | 587 | true | Enable 2FA on the Google account, then generate an App Password under Google Account → Security → App Passwords |
| Zoho Mail | smtp.zoho.com | 587 | true | Use your Zoho account email and password. Enable SMTP in Zoho Mail → Settings → Mail Accounts. |
| Outlook / Office 365 | smtp.office365.com | 587 | true | Username is your full Outlook email. App passwords may be needed if MFA is enabled. |
| Postfix (self-hosted) | your server IP or hostname | 587 | depends | Configure Postfix to accept authenticated relay from Nudgel's worker IPs |
| Mailhog (local dev) | localhost | 1025 | false | Good for local development. Messages are captured, not delivered. |
Add the provider in Nudgel
- Go to Settings → Providers
- Click Add a provider
- Pick SMTP
- Fill in the fields:
| Field | Required | Notes |
|---|---|---|
host | Yes | SMTP server hostname, e.g. smtp.gmail.com |
port | Yes | Typically 587 (STARTTLS) or 465 (SSL/TLS). Avoid port 25 — most cloud providers block it for outbound. |
secure | Yes | true to use TLS (recommended). false for plaintext or STARTTLS on port 587. |
username | Yes | SMTP auth username (usually the full from email address) |
from_email | Yes | The from address as it appears to recipients |
from_name | Yes | Display name shown to recipients |
password | Yes | SMTP password or App Password. Encrypted at rest. |
Test the connection
curl -X POST https://api-raven-cloud.autotribes.app/v1/messages \
-H "X-Raven-Key: rk_live_a3f7b2c1_..." \
-H "Content-Type: application/json" \
-d '{
"channel": "email",
"to": "you@example.com",
"from": "noreply@mail.acme.co.ke",
"subject": "Nudgel test — SMTP",
"bodyHtml": "<p>If you can read this, SMTP is wired up.</p>",
"bodyText": "If you can read this, SMTP is wired up."
}'If the message status becomes sent, the SMTP handshake succeeded. Because SMTP has no webhook support, the status will not update further.
No webhooks for SMTP
SMTP is a fire-and-forget protocol. Nudgel can tell your SMTP server to send the message, but there is no standardized way for the SMTP server to report back "delivered" or "bounced". Your message status will stop at sent.
If delivery tracking matters to your use case, switch to one of the native adapters — Postmark, AWS SES, SendGrid, Mailgun, Brevo, or Mailjet — all of which support webhooks.
Domain verification (manual)
HEADS UP
You'll need to:
- Configure DKIM signing on your MTA (Postfix with OpenDKIM, Postal, etc.) yourself.
- Publish the matching DKIM TXT record at your DNS host.
- Optionally still register the domain in Nudgel for the unified dashboard — it will show as Not applicable for the SMTP provider, which is expected.
If you're using Gmail App Password or an SMTP relay through a hosted provider that doesn't have a Nudgel adapter, the relay provider handles DKIM signing for their domain — your From:address must use a domain they've authorized you to send from.
For more on the registration flow: Sending domains setup
Troubleshooting
| Symptom | Most likely cause |
|---|---|
failed — "Connection refused" | Wrong host or port, or a firewall is blocking the connection. |
failed — "Authentication failed" | Wrong username or password. For Gmail, ensure you are using an App Password, not your main Google account password. |
failed — "Greeting failure" | The host field resolves but is not an SMTP server. |
failed — "Self-signed certificate" | Your SMTP server uses a self-signed TLS cert. Set secure to false and use STARTTLS on port 587 instead. |
| Gmail returns "Username and Password not accepted" | You are using your real Google password instead of an App Password. Go to Google Account → Security → App Passwords to generate one. |