SMTP Email Block
Send emails via any SMTP server
The SMTP Email block sends emails through any SMTP server — Gmail, Outlook/Office 365, Yahoo, Amazon SES, SendGrid, Mailgun, or your own custom server. It uses the standard SMTP protocol with STARTTLS/SSL support and requires no OAuth, just your SMTP credentials. Reach for it when you need to deliver email from a workflow without a provider-specific integration.
Overview
| Property | Value |
|---|---|
| Type | smtp |
| Category | tools |
| Color | #FB923C |
When to Use
- Send transactional or notification emails from a custom or self-hosted SMTP server.
- Deliver email through providers like Gmail, Office 365, Amazon SES, SendGrid, or Mailgun without OAuth.
- Send HTML-formatted emails (e.g. reports, receipts, alerts) generated earlier in the workflow.
- Send to multiple recipients with CC and BCC support.
- Override the sender identity with a custom From address, display name, and Reply-To.
- Wire up email delivery in environments where you already manage SMTP credentials.
Configuration
SMTP Host (host)
Required. The SMTP server hostname, e.g. smtp.gmail.com for Gmail or smtp.office365.com for Outlook.
Port (port)
The SMTP server port. Default is 587 (STARTTLS). Use 465 for SSL/TLS connections.
Username (username)
Required. SMTP login username — usually your email address.
Password (password)
Required. SMTP password or app-specific password. The field is masked in the UI.
Use SSL/TLS (secure)
Toggle switch. Enable for port 465 (SSL/TLS); leave off for port 587 (STARTTLS). Defaults to off.
To (to)
Required. Recipient email addresses. Separate multiple addresses with commas.
Subject (subject)
Required. The email subject line.
Body (body)
Required. The email body content. Can be plain text or HTML depending on the Send as HTML setting.
Send as HTML (isHtml)
Toggle switch. When enabled, the body is sent as HTML content rather than plain text. Defaults to off.
From Email (from) — Advanced
Optional. Override the sender email address. Defaults to the username if not provided.
From Name (fromName) — Advanced
Optional. Sender display name shown in the recipient's email client.
CC (cc) — Advanced
Optional. CC recipient email addresses (comma-separated).
BCC (bcc) — Advanced
Optional. BCC recipient email addresses (comma-separated).
Reply-To (replyTo) — Advanced
Optional. Reply-to email address if different from the sender.
Inputs & Outputs
-
Inputs:
host(string) — SMTP server hostnameport(number) — SMTP server portusername(string) — SMTP usernamepassword(string) — SMTP passwordsecure(boolean) — Use SSL/TLS connectionto(string) — Recipient email addressessubject(string) — Email subjectbody(string) — Email body contentisHtml(boolean) — Send body as HTMLfrom(string) — Sender email addressfromName(string) — Sender display namecc(string) — CC recipientsbcc(string) — BCC recipientsreplyTo(string) — Reply-to email address
-
Outputs:
messageId(string) — Message ID from the SMTP serveraccepted(json) — List of accepted recipient addressesrejected(json) — List of rejected recipient addressesstatus(string) — SMTP server response statuserror(string) — Error message if sending failed
Tools
SMTP Send Email (smtp_send) — Sends an email via any SMTP server (Gmail, Outlook, Yahoo, custom SMTP, etc.). Accepts all connection parameters (host, port, username, password, secure) plus the full set of email fields (to, cc, bcc, replyTo, subject, body, isHtml, from, fromName) and returns messageId, accepted, rejected, status, and error.
YAML Example
send_email:
type: smtp
name: "SMTP Email"
inputs:
host: "smtp.gmail.com"
port: 587
username: "{{SMTP_USERNAME}}"
password: "{{SMTP_APP_PASSWORD}}"
secure: false
to: "recipient@example.com"
subject: "Workflow notification"
body: "{{start.input}}"
isHtml: false
connections:
outgoing:
- target: next-block-id