Skip to content
Stand with Ukraine flag

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.

  • 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.

When system settings are disabled, configure:

  • Protocolsmtp (default) or smtps (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).
  • 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.
  • Enable proxy — route SMTP traffic through a proxy server.
  • Proxy host / port / user / password — proxy connection details (authentication optional).

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.

  1. Verify that the message type is SEND_EMAIL. If not, route via Failure.
  2. If force acknowledgement is enabled, acknowledge the message immediately and create a copy.
  3. Send the email asynchronously using the system or custom SMTP configuration.
  4. Route the original message (or copy) via Success on delivery, or Failure on error.
ConnectionCondition
SuccessEmail sent successfully.
FailureMessage type is not SEND_EMAIL, incorrect SMTP configuration, timeout, or unexpected error.

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.

{
"$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" }
}
}