Email delivery is shared across all email triggers you create. The SMTP or Resend credentials set via environment variables are used globally — they are not stored per trigger.
Option 1: SMTP
Set the following environment variables. All six are required for SMTP to work.| Variable | Description |
|---|---|
SMTP_HOST | Hostname of your SMTP server (e.g. smtp.mailgun.org) |
SMTP_PORT | SMTP port — typically 587 (STARTTLS) or 465 (TLS) |
SMTP_USER | SMTP login username. Use - to send without authentication. |
SMTP_PASSWORD | SMTP login password. Use - to send without authentication. |
SMTP_SENDER | Default sender address (e.g. alerts@example.com) |
SMTP_SECURE | 1 to use TLS (port 465). 0 for STARTTLS or plain (port 587). |
docker-compose.yml:
TLS behaviour
WhenSMTP_SECURE is 0, Kener sets tls.rejectUnauthorized: false to allow self-signed certificates on internal mail servers. When SMTP_SECURE is 1, certificate verification is enforced.
Option 2: Resend API
Resend is a developer-focused email API. If both SMTP and Resend variables are present, Kener uses Resend.| Variable | Description |
|---|---|
RESEND_API_KEY | Your Resend API key (starts with re_) |
RESEND_SENDER_EMAIL | Verified sender address in your Resend account |
docker-compose.yml:
Create an email trigger
Once email delivery is configured, create a trigger to use it.Select Email as the trigger type
In the Trigger Type dropdown, choose email.If Kener detects that neither SMTP nor Resend is configured, a warning banner appears at the top of the form. Email delivery will fail until the environment variables are set and Kener is restarted.
Enter the sender
In the From field, use the
Name <email@example.com> format:If the sender address here differs from
SMTP_SENDER / RESEND_SENDER_EMAIL, the per-trigger sender takes precedence. Ensure the address is authorized by your email provider.Customise the HTML template (optional)
The default email template renders a styled HTML table with all alert details. You can replace it entirely with your own HTML in the Custom HTML Template editor.Available Mustache variables:
The default subject is
| Variable | Description |
|---|---|
site_name | Display name of the Kener site |
site_url | Public URL of the Kener instance |
site_logo_url | Absolute URL to the logo |
alert_name | Human-readable alert label |
alert_status | TRIGGERED or RESOLVED |
alert_severity | WARNING or CRITICAL |
alert_for | STATUS, LATENCY, or UPTIME |
alert_value | Threshold value |
alert_message | Alert description |
alert_id | Unique alert ID |
alert_timestamp | ISO 8601 timestamp |
alert_failure_threshold | Configured failure threshold |
alert_success_threshold | Configured success threshold |
alert_cta_url | Link to the monitor page |
alert_cta_text | CTA button label |
alert_incident_url | Incident URL (if incident was created) |
is_triggered | true when alert fired |
is_resolved | true when alert cleared |
colors_up | Hex color for UP status |
colors_down | Hex color for DOWN status |
colors_degraded | Hex color for DEGRADED status |
colors_maintenance | Hex color for MAINTENANCE status |
{{alert_name}}. You can override this in the Email Subject field.Default email template
The built-in HTML template renders the following information in a styled email:- Logo and site link at the top
- A colored badge showing
alert_status(usescolors_downfor TRIGGERED,colors_upfor RESOLVED) - A table with: Alert ID, Status, Timestamp, Severity, Alert Type
- A metrics box with: Alert Value, Failure Threshold, Success Threshold
- The alert message text
- A View Incident button (conditionally rendered when
alert_incident_urlis set) - A CTA button linking to the monitor page (
alert_cta_url)