Send Email
Use this node to deliver an email prepared by a To Email transformation node — for example, sending an alert email when a device alarm is created, or emailing a daily summary report to an operations team.
Configuration
Section titled “Configuration”Use system SMTP settings
Section titled “Use system SMTP settings”- Enabled (default) — use the platform-wide SMTP settings configured by the system administrator.
- Disabled — use custom SMTP settings defined in this node, allowing different email nodes to use different SMTP servers.
Custom SMTP settings
Section titled “Custom SMTP settings”When system settings are disabled, configure:
- Protocol —
smtp(default) orsmtps(SMTP over SSL/TLS). - SMTP host — hostname or IP address of the SMTP server.
- SMTP port — port number.
- Timeout (ms) — socket read timeout. Default:
10000(10 seconds).
Security
Section titled “Security”- Enable TLS — use STARTTLS to upgrade the connection after the initial handshake.
- TLS version — TLS protocol version when TLS is enabled. Default:
TLSv1.2. - Username / Password — SMTP authentication credentials. Leave empty for anonymous access.
Proxy settings
Section titled “Proxy settings”- Enable proxy — route SMTP traffic through a proxy server.
- Proxy host / port / user / password — proxy connection details (authentication optional).
Force acknowledgement
Section titled “Force acknowledgement”Controlled globally by the ACTORS_RULE_EXTERNAL_NODE_FORCE_ACK environment variable. When true, the incoming message is acknowledged immediately and the email send operation runs asynchronously, preventing processing timeouts for slow SMTP servers or large attachments.
Message processing algorithm
Section titled “Message processing algorithm”- Verify that the message type is
SEND_EMAIL. If not, route viaFailure. - If force acknowledgement is enabled, acknowledge the message immediately and create a copy.
- Send the email asynchronously using the system or custom SMTP configuration.
- Route the original message (or copy) via
Successon delivery, orFailureon error.
Output connections
Section titled “Output connections”| Connection | Condition |
|---|---|
Success | Email sent successfully. |
Failure | Message type is not SEND_EMAIL, incorrect SMTP configuration, timeout, or unexpected error. |
Examples
Section titled “Examples”Example 1 — Send alert email via system SMTP
Section titled “Example 1 — Send alert email via system SMTP”Type: SEND_EMAIL (produced by To Email node).
Data:
{ "subject": "High Temperature Alert", "body": "<html><body><h2>Warehouse temperature has exceeded 30°C. Current: 32.5°C</h2></body></html>"}{ "useSystemSmtpSettings": true, "smtpHost": "localhost", "smtpPort": 25, "smtpProtocol": "smtp", "timeout": 10000, "enableTls": false, "tlsVersion": "TLSv1.2", "enableProxy": false}Result: email delivered to [email protected] using system SMTP. Routes via Success.
JSON schema
Section titled “JSON schema”{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "TbSendEmailNodeConfiguration", "type": "object", "required": ["useSystemSmtpSettings"], "additionalProperties": false, "properties": { "useSystemSmtpSettings": { "type": "boolean" }, "smtpHost": { "type": "string" }, "smtpPort": { "type": "integer" }, "smtpProtocol": { "type": "string", "enum": ["smtp", "smtps"] }, "timeout": { "type": "integer" }, "enableTls": { "type": "boolean" }, "tlsVersion": { "type": "string" }, "enableProxy": { "type": "boolean" }, "proxyHost": { "type": "string" }, "proxyPort": { "type": "string" }, "proxyUser": { "type": "string" }, "proxyPassword": { "type": "string" }, "username": { "type": "string" }, "password": { "type": "string" } }}