Skip to main content
Version: 2.0-dev

SMTP SMTP Integration Guide

Send emails directly from your pipelines using the SMTP connector. This guide covers connection setup, email function configuration, and pipeline integration.

Overview

The SMTP connector provides:

  • Multiple recipients with To, CC, and BCC support
  • HTML and plain text email bodies with templating
  • File attachments using Base64‑encoded content
  • Template parameters for dynamic email content
  • TLS/SSL encryption with optional certificate configuration
  • Popular provider presets for Gmail, Office365, SendGrid, Amazon SES, and more

Connection Configuration

Creating an SMTP Connection

From ConnectionsNew ConnectionSMTP, configure the fields below.

SMTP Connection Creation Fields

1. Profile Information
FieldDefaultDescription
Profile Name-A descriptive name for this connection profile (required, max 100 characters)
Description-Optional description for this SMTP connection
2. SMTP Server Configuration
Provider Preset

A quick‑fill dropdown to auto‑populate host and port for popular email providers:

PresetHostDefault Port
Custom SMTP Server(user specified)587
Gmailsmtp.gmail.com587
Microsoft 365 / Outlooksmtp.office365.com587
Yahoo Mailsmtp.mail.yahoo.com587
SendGridsmtp.sendgrid.net587
Mailgunsmtp.mailgun.org587
Amazon SES (us-east-1)email-smtp.us-east-1.amazonaws.com587
Amazon SES (eu-west-1)email-smtp.eu-west-1.amazonaws.com587
MailHog (Local Testing)localhost1025
Server Fields
FieldDefaultDescription
Host-SMTP server hostname or IP address (e.g., smtp.example.com) – required
Port587SMTP port: 25 (Legacy), 465 (SMTPS/Implicit TLS), 587 (Submission – recommended), 1025 (Testing), 2525 (Alternative) – required
From Email-Sender email address (e.g., noreply@example.com) – required
From Name-Display name for the sender (e.g., MaestroHub Notifications). Max 100 characters
3. Authentication
FieldDefaultDescription
Username-SMTP authentication username. Often your email address. For SendGrid, use apikey – required
Password-SMTP password or App Password (for services with 2FA). Stored securely – required
Provider Authentication Notes
  • Gmail/Office365/Yahoo: If 2‑Factor Authentication is enabled, use an App Password instead of your regular account password.
  • SendGrid: Use apikey as the username and your SendGrid API key as the password.
  • Amazon SES: Use IAM SMTP credentials (not AWS access keys).
4. TLS/SSL Settings
4a. TLS Configuration
FieldDefaultDescription
Enable TLStrueEnable encrypted connection (STARTTLS or implicit TLS). Required when using port 465
Skip TLS VerificationfalseSkip certificate verification. Only enable for self‑signed certificates or testing
Force Implicit TLSfalseUse implicit TLS on any port (advanced configuration)
TLS Server Name-Override hostname for certificate verification (advanced)
4b. Certificates (Optional)
FieldDefaultDescription
CA Certificate-Custom CA certificate for private/enterprise Certificate Authorities. PEM format
Client Certificate-Client certificate for mTLS (mutual TLS) authentication. PEM format
Client Private Key-Private key for the client certificate. PEM format. Both certificate and key must be provided for mTLS
5. Advanced Settings
FieldDefaultDescription
Dial Timeout (sec)30Connection establishment timeout (5–120 seconds)
Send Timeout (sec)60Email send operation timeout (10–300 seconds). Increase for large attachments
Keep-Alive Interval (sec)30Interval for keep‑alive pings to maintain persistent connections (10–300 seconds)
Timeout Recommendations

Increase the send timeout when sending emails with large attachments. Keep‑alive helps maintain persistent connections for high‑volume email sending.

6. Connection Labels
FieldDefaultDescription
Labels-Key‑value pairs to categorize and organize this SMTP connection (max 10 labels)

Example Labels

  • environment: production
  • service: notifications
  • team: platform
Notes
  • Required Fields: Profile Name, Host, Port, From Email, Username, and Password must be filled.
  • Port 465: Requires TLS to be enabled (uses implicit TLS).
  • Security: Credentials are stored encrypted and masked on edit. Leave fields empty to keep stored values.
  • Provider Presets: Selecting a preset auto‑populates Host and Port with recommended values.

Function Builder

Creating SMTP Functions

After saving the connection:

  1. Go to FunctionsNew Function
  2. Choose Send Email as the function type
  3. Select the SMTP connection profile
  4. Configure recipients, content, and attachments
SMTP Function Creation

Design reusable email functions with dynamic content and attachments

Send Email

Purpose: Send emails with dynamic content, multiple recipients, and optional attachments from your pipelines.

Configuration Fields

Function Information
FieldTypeRequiredDefaultDescription
Function NameStringYes-A descriptive name for this email function (e.g., Send Order Confirmation). Max 100 characters
DescriptionStringNo-Optional description of what this email function does
LabelsKey-ValueNo-Optional labels for categorizing the function
Recipients Configuration
FieldTypeRequiredDefaultDescription
ToArrayYes-Primary recipient email addresses. At least one recipient is required
CCArrayNo[]Carbon copy recipients
BCCArrayNo[]Blind carbon copy recipients
note

The To, CC, and BCC fields do not support templating. Email addresses must be explicitly provided.

Email Content
FieldTypeRequiredDefaultDescription
SubjectStringYes-Email subject line. Supports ((parameterName)) syntax for dynamic content
Body (Plain Text)StringConditional-Plain text version of the email body. At least one of Body Text or Body HTML is required
Body (HTML)StringConditional-HTML version of the email body. At least one of Body Text or Body HTML is required
tip

You can provide both plain text and HTML bodies. Email clients will display HTML if supported, otherwise fall back to plain text.

Attachments
FieldTypeRequiredDefaultDescription
FilenameStringConditional-Attachment filename (e.g., report.pdf). Required if attachment data is provided
MIME TypeDropdownNoapplication/octet-streamContent type of the attachment
Attachment Data (Base64)StringNo-Base64‑encoded file content. Supports templating

Available MIME Types

MIME TypeDescription
application/pdfPDF Document (.pdf)
application/zipZIP Archive (.zip)
application/jsonJSON File (.json)
application/xmlXML File (.xml)
application/vnd.openxmlformats-officedocument.spreadsheetml.sheetExcel Spreadsheet (.xlsx)
application/vnd.openxmlformats-officedocument.wordprocessingml.documentWord Document (.docx)
image/pngPNG Image (.png)
image/jpegJPEG Image (.jpg)
text/plainPlain Text (.txt)
text/csvCSV File (.csv)
text/htmlHTML File (.html)
application/octet-streamBinary Data (default)
CustomEnter any custom MIME type
Advanced Options
FieldTypeRequiredDefaultDescription
Timeout (seconds)NumberNo60Override the connection's send timeout for this specific function (1–300)

Use Cases: Send order confirmations, alert notifications, scheduled reports with attachments, welcome emails

Using Parameters

Use ((parameterName)) in supported fields to create dynamic, reusable email functions with content injected at runtime from your pipeline data.

FieldSupports Templating
To / CC / BCC
Subject
Body (Plain Text)
Body (HTML)
Attachment Filename
Attachment Data
ConfigurationDescriptionExample
TypeValidate incoming valuesstring, number, boolean, datetime, json, buffer
RequiredEnforce presenceRequired / Optional
Default ValueProvide fallbacks'Customer', '{}'
DescriptionDocument intent"Customer name for greeting", "Order ID for subject line"
SMTP Function Parameters

Parameter validation, defaults, and helper text for dynamic email content

Pipeline Integration

Use the SMTP send email functions you configure here as nodes inside the Pipeline Designer to send notifications, alerts, and reports as part of your automation workflows. Drag in the send email node, bind parameters to upstream outputs or constants, and configure retry behavior for delivery guarantees.

For broader orchestration patterns that combine email notifications with SQL, REST, MQTT, or file operations, see the Connector Nodes page.

SMTP node in pipeline designer

SMTP send email node with connection, function, and parameter bindings

Common Use Cases

Order Confirmation Emails

Send dynamic order confirmations with customer details and order information.

Subject with Templating:

Order Confirmation #((orderId))

Body HTML with Templating:

<html>
<body>
<h1>Hello ((customerName))</h1>
<p>Thank you for your order #<strong>((orderId))</strong>.</p>
<p>We will notify you when your order ships.</p>
</body>
</html>

Pipeline Integration: Connect after order processing nodes to send confirmations automatically.


Alert Notifications

Send real-time alerts when pipeline conditions trigger thresholds.

Subject with Templating:

⚠️ Alert: ((alertType)) on ((machineName))

Body Text with Templating:

Machine: ((machineName))
Alert Type: ((alertType))
Value: ((currentValue))
Threshold: ((threshold))
Time: ((timestamp))

Please investigate immediately.

Pipeline Integration: Trigger from condition nodes that monitor sensor data or system metrics.


Scheduled Reports with Attachments

Distribute generated reports as email attachments on a schedule.

Configuration:

  • Attachment Filename: report_((date)).pdf
  • Attachment Data: ((reportBase64))
  • MIME Type: application/pdf

Pipeline Integration: Schedule via cron triggers, generate report content upstream, then send via SMTP node.


Welcome Emails

Send personalized welcome messages when new users are created.

Subject:

Welcome to ((companyName)), ((firstName))!

Body HTML with Templating:

<html>
<body>
<h1>Welcome, ((firstName)) ((lastName))!</h1>
<p>Your account has been successfully created.</p>
<p>Username: <strong>((email))</strong></p>
<p>Get started by visiting our <a href="((portalUrl))">portal</a>.</p>
</body>
</html>

Pipeline Integration: Connect after user creation workflows or registration webhooks.

Provider-Specific Notes

Gmail

  • Port: 587
  • Requires App Password if 2FA is enabled
  • Enable "Less secure app access" if not using App Password (not recommended)

Microsoft 365 / Outlook

  • Port: 587
  • Requires App Password if 2FA is enabled
  • Modern authentication may require OAuth setup

SendGrid

  • Port: 587
  • Username: apikey
  • Password: Your SendGrid API key

Amazon SES

  • Use the region‑specific endpoint (e.g., email-smtp.us-east-1.amazonaws.com)
  • Port: 587
  • Use IAM SMTP credentials (not AWS access keys)
  • Verify sender email/domain in SES console

Mailgun

  • Port: 587
  • Use your Mailgun SMTP credentials from the dashboard

MailHog (Local Testing)

  • Port: 1025
  • No authentication required
  • Useful for local development and testing

Troubleshooting

Common Issues

IssuePossible CauseSolution
Connection timeoutFirewall blocking portCheck firewall rules, try port 587 or 2525
Authentication failedWrong credentialsVerify username/password, use App Password for 2FA accounts
TLS handshake failedCertificate issuesEnable "Skip TLS Verification" for self‑signed certs (testing only)
Email not receivedSpam filterCheck spam folder, verify sender domain SPF/DKIM records
Port 465 not workingTLS not enabledPort 465 requires TLS to be enabled

Testing Your Connection

  1. Configure all required fields
  2. Click Test Connection to verify SMTP server connectivity
  3. Create a Send Email function
  4. Use Test Function to send a test email

Debugging Tips

  • Start with MailHog for local testing before configuring production SMTP
  • Use port 587 (Submission) for most providers
  • Always use TLS for production environments
  • Check your email provider's SMTP documentation for specific requirements