Email Pinging
Send heartbeat pings via email when HTTP requests are not an option.
Overview
Every heartbeat in Cronping has a dedicated email ping address. Sending any email to that address registers a ping — exactly like an HTTP request to the ping URL.
<token>@ping.cronping.comThis is useful when your system can send email but cannot make HTTP requests — for example legacy appliances, network-restricted servers, or hardware devices with built-in email alerts.
How to use
1. Find the email address
Open the heartbeat detail page. Below the Ping URL card you'll see an Email Ping Address card with the full address and a copy button.
2. Send an email
Send any email to that address. No special formatting is required — a simple one-liner is enough:
echo "OK" | mail -s "Backup done" [email protected]The heartbeat status will update to Up just as if you had sent an HTTP ping.
Keyword classification
Cronping automatically scans the email subject line and body for keywords to determine what type of signal the email represents. Keywords are matched case-insensitively.
Priority order
The first match wins — fail keywords always take priority over start keywords:
| Priority | Signal | Keywords |
|---|---|---|
| 1 | Fail | fail, failed, failure, error, exception, crash, abort, critical, fatal |
| 2 | Start | start, started, starting, begin, running |
| 3 | Success | Default — when no fail or start keywords are found |
Examples
| Subject line | Body (excerpt) | Classified as |
|---|---|---|
Backup completed | All files synced | Success |
Backup failed | Error: disk full | Fail |
Job starting | Initializing... | Start |
Nightly report | Process completed | Success |
CRITICAL: DB connection lost | Fatal error in worker | Fail |
| (empty) | (empty) | Success |
Fail keywords always take priority. If both "started" and "error" appear in the same email, it is classified as a Fail ping.
Example: wrapping a script
A common pattern is to run a job, capture the output, and email the result to Cronping:
#!/bin/sh
OUTPUT=$(/usr/bin/backup.sh 2>&1)
EXIT_CODE=$?
if [ $EXIT_CODE -eq 0 ]; then
SUBJECT="Backup completed successfully"
else
SUBJECT="Backup failed with exit code $EXIT_CODE"
fi
echo "$OUTPUT" | mail -s "$SUBJECT" <token>@ping.cronping.com"Backup completed successfully"→ classified as Success"Backup failed with exit code 1"→ classified as Fail (triggers an alert immediately)
How it works internally
- Your system sends an email to
<token>@ping.cronping.com - The email provider forwards it to Cronping as a webhook
- Cronping extracts the heartbeat token from the recipient address
- The subject and body are scanned for keywords to determine the signal type
- A ping is recorded using the same logic as an HTTP ping — status transitions, flip history, duration tracking, and alerts all work identically
Notes
- Paused heartbeats silently accept email pings without changing state, just like HTTP pings.
- Email pings show
email-inboundas the user agent in the ping history, along with the sender address. - The
/start+ success flow works via email too — send an email with a start keyword before the job, and another email when it completes. Cronping will calculate the duration between them. - Only the first 100 KB of the email body is scanned for keywords.