Post

SMTP Email Alerts

SMTP Email Alerts

The SMTP Executor sends email notifications when triggered by any Krill event chain. Wire it to a threshold trigger, a cron timer, a logic gate, or any other trigger to get email alerts when conditions are met.

How It Works

The SMTP executor is a child of any trigger node. When the parent fires, the executor builds an email from its configured source DataPoint (subject = DataPoint name, body = current value + timestamp) and sends it via your SMTP relay.

Execution chain example:

1
DataPoint (temperature) → HighThreshold (> 30) → SMTP (send alert)

When the temperature DataPoint exceeds 30, the threshold fires, the SMTP executor sends an email with the current value.

Configuration

Add an SMTP executor as a child of any trigger or data-connected node. The editor exposes these fields:

FieldDescriptionDefault
HostSMTP relay hostname (e.g., smtp.gmail.com)(required)
PortSMTP port587
UsernameSMTP auth username (often your email address)(optional if relay allows unauthenticated)
PasswordSMTP auth password or app-specific password(optional)
From AddressSender address (defaults to username if empty)(optional)
To AddressRecipient address(required)

TLS Behavior

  • Port 587 (default): Uses STARTTLS upgrade
  • Port 465: Uses implicit SSL/TLS
  • Other ports: Uses STARTTLS

Source DataPoint

Wire a DataPoint as a source to include its name and current value in the email. Without a source, the email body is a generic “SMTP executor node was executed” message.

Gmail Setup

  1. Enable 2-factor authentication on your Google account
  2. Generate an App Password for “Mail”
  3. Configure the SMTP node:
    • Host: smtp.gmail.com
    • Port: 587
    • Username: your.email@gmail.com
    • Password: (the 16-character app password)
    • From: your.email@gmail.com
    • To: (recipient)

Troubleshooting

“SMTP host is not configured” — The host field is empty. Enter your relay hostname.

“Recipient address is not configured” — The To Address field is empty.

Connection timeout — Verify the host and port are reachable from your Krill server. Try telnet smtp.gmail.com 587 from the Pi.

Authentication failed — Double-check username and password. For Gmail, you must use an App Password, not your regular password.

“SMTP error: …“ — The error message from the mail server is shown in the node’s error field. Check the server logs for details: journalctl -u krill -f.


Last verified: 2026-04-03

This post is licensed under CC BY 4.0 by Sautner Studio, LLC.