Skip to content

Cookie preferences

We use cookies for our own analytics, to see how our campaigns perform and, if you allow it, to load content from other services such as the Google site search. We never sell your data. Necessary cookies keep the site working and cannot be switched off. See our Cookie Policy for details and our Privacy Policy for how we handle personal data.

Security, load balancing and remembering your cookie choice.

Show us which pages people read, how they find the site and where they get stuck, so we can improve it (Google Analytics, Microsoft Clarity).

Show us which of our ad campaigns bring visitors to the site and remember the campaign or partner link you arrived from (Google Ads, LinkedIn, Meta, partner program). We do not use these cookies to build advertising profiles.

Load the site search from Google when you use it. Google sets its own cookies and shows ads in the search results.

© 2026 The ThingsBoard Authors
22.5k Try for free

ThingsBoard Cloud

Choose your data region

Your data stays in the region you choose, for residency and compliance. No credit card required.

Rather run it yourself? Install on your own servers

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:

  • Protocol — smtp (default) or smtps (SMTP over SSL/TLS). Use smtps for port 465 and smtp with Enable TLS for port 587.
  • 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.
Connection Condition
Success Email sent successfully.
Failure Message 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:

{
"to": "alerts@company.com",
"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 alerts@company.com 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" }
}
}