Docs / Strand / connectors/smtp
SMTP Email Connector
Direction: Write Only | Type: smtp
Send emails from your Strand workflows using your own SMTP server. Full control over your email infrastructure with no plan-based sending limits from Tendrl.
Connector Setup#
Create an SMTP Email connector from the Connectors page.
Configuration Fields#
| Field | Required | Description |
|---|---|---|
| Name | Yes | Friendly name for this connector (e.g., "Company Gmail") |
| Authentication Type | No | password (SMTP username/password) or oauth (recommended for Gmail and Microsoft 365). Default: password. See OAuth below. |
| OAuth Provider | Conditional | gmail or o365. Required when Authentication Type is oauth. |
| Host | Yes | SMTP server hostname |
| Port | No | Server port (default: 587) |
| Username | No | SMTP authentication username |
| Password | No | SMTP authentication password (encrypted at rest) |
| From Email | Yes | Sender email address |
| Use TLS | No | Enable STARTTLS encryption (default: true, recommended for port 587) |
| Use SSL | No | Enable SSL/TLS encryption (default: false, for port 465) |
| Timeout | No | Connection timeout in seconds (default: 30) |
| Description | No | Optional description for reference |
OAuth (recommended for Gmail / Microsoft 365)#
Gmail and Microsoft 365 are phasing out basic SMTP username/password auth. To use OAuth instead, set Authentication Type to oauth, choose your OAuth Provider (gmail or o365), fill in the host, port, username, and sender address, then click Connect. You authorize Strand in a popup window, and the access token is stored encrypted and refreshed automatically — no password is kept. You do not register your own OAuth application; Strand's is used.
Common SMTP Server Settings#
| Provider | Host | Port | TLS | Notes |
|---|---|---|---|---|
| Gmail | smtp.gmail.com |
587 | Yes | Use an App Password |
| Outlook/365 | smtp.office365.com |
587 | Yes | Use your Microsoft account password |
| Amazon SES | email-smtp.us-east-1.amazonaws.com |
587 | Yes | Use SMTP credentials from SES console |
| SendGrid | smtp.sendgrid.net |
587 | Yes | Username: apikey, Password: your API key |
| Mailgun | smtp.mailgun.org |
587 | Yes | Use domain SMTP credentials |
Node Configuration#
Drag a Connector node onto your workflow canvas and select your SMTP connector. Configure the following fields:
To (required)#
Recipient email addresses, comma-separated. Supports Jinja templates:
{{ payload.customer_email }}
Subject (required)#
Email subject line. Supports Jinja templates:
Alert: {{ payload.title }}
Body - Text (optional)#
Plain text email body. Supports Jinja templates.
Body - HTML (optional)#
HTML email body. If both are provided, HTML takes priority in supporting clients. Supports Jinja templates.
CC / BCC / Reply-To (optional)#
Additional recipients and reply address. All support Jinja templates.
Output#
{
"success": true,
"status": "sent",
"data": {
"to": ["user@example.com"],
"from": "noreply@yourcompany.com",
"subject": "Alert: Server Down",
"host": "smtp.gmail.com"
},
"service": "smtp",
"operation": "send"
}
Errors#
| Error | Meaning |
|---|---|
| SMTP host is required | Host not configured in connector. |
| from_email is required | Sender address not configured in connector. |
| SMTP authentication failed | Wrong username or password. For Gmail, use an App Password. |
| Failed to connect to SMTP server | Server unreachable; check host, port, and network. |
| SMTP recipients refused | One or more recipient addresses were rejected by the server. |
| SMTP connection timed out | Server didn't respond within the timeout period. |
Limitations#
- Attachments: Not currently supported.
- Incoming email: Not supported.
- Connection pooling: Each send creates a new SMTP connection. For high-volume sending, consider using the Tendrl Email connector or a transactional email API via the HTTP connector.
Tendrl