Uptime Kuma Notifications Not Sending — Fix

The Problem

Uptime Kuma detects a service going down but doesn’t send notifications. You discover outages hours later by manually checking the dashboard instead of receiving an alert.

Updated February 2026: Verified with latest Docker images and configurations.

The Cause

Several common issues prevent notification delivery:

  1. Notification not assigned to monitors — notifications exist but aren’t linked to specific monitors
  2. SMTP configuration errors — wrong port, missing TLS, authentication failures
  3. Webhook URL issues — Discord/Slack webhook URLs are expired or malformed
  4. Telegram bot token invalid — bot token or chat ID is wrong
  5. DNS resolution inside Docker — the container can’t resolve external hostnames
  6. Notification type mismatch — alert triggers on UP but not DOWN (or vice versa)

The Fix

Method 1: Check Notification Assignment

The most common issue — the notification exists but isn’t enabled for a monitor:

  1. Go to the monitor’s settings (click the monitor → gear icon)
  2. Scroll to “Notifications”
  3. Verify the notification channel is toggled ON for this monitor
  4. Check both “UP” and “DOWN” triggers are enabled

Creating a notification in Settings → Notifications doesn’t automatically assign it to monitors. You must enable it on each monitor individually, or check “Apply to all existing monitors” when creating it.

Method 2: Fix SMTP Email Notifications

Test your SMTP settings from the notification configuration page using the “Test” button. Common issues:

SymptomFix
Connection refusedWrong port. Gmail: 587 (TLS) or 465 (SSL). Outlook: 587
Authentication failedUse an app password, not your account password. Gmail requires app passwords with 2FA
TLS/SSL errorMatch the security type to the port: 587 → STARTTLS, 465 → SSL/TLS
TimeoutDocker DNS can’t resolve the SMTP host. Try using the IP address instead

Gmail SMTP settings:

SMTP Host: smtp.gmail.com
SMTP Port: 587
Security: STARTTLS
Username: [email protected]
Password: app-specific-password (not your Google password)
From: [email protected]

Generate a Gmail app password at myaccount.google.com/apppasswords (requires 2FA enabled).

Method 3: Fix Discord Webhook Notifications

  1. Verify the webhook URL — go to your Discord server → channel settings → Integrations → Webhooks
  2. Check if the webhook was deleted — Discord doesn’t notify you when webhooks are removed
  3. Test the webhook manually:
curl -X POST "YOUR_WEBHOOK_URL" \
  -H "Content-Type: application/json" \
  -d '{"content": "Test notification from Uptime Kuma"}'

If this works but Uptime Kuma doesn’t send, the issue is in the Uptime Kuma notification configuration. Recreate the notification with a fresh webhook URL.

Method 4: Fix Telegram Notifications

  1. Verify the bot token — message @BotFather on Telegram, use /mybots to check your bot exists
  2. Get the correct chat ID:
# Send a message to your bot first, then:
curl "https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates" | jq '.result[0].message.chat.id'
  1. For group chats, the chat ID is negative (e.g., -1001234567890). Include the minus sign.
  2. Verify the bot is a member of the group if using a group chat ID

Method 5: Fix DNS Resolution in Docker

If external services can’t be reached from the Uptime Kuma container:

# Test from inside the container
docker exec uptime-kuma nslookup smtp.gmail.com
docker exec uptime-kuma nslookup discord.com

If DNS fails, add DNS servers to the container:

services:
  uptime-kuma:
    image: louislam/uptime-kuma:2.2.1
    dns:
      - 8.8.8.8
      - 1.1.1.1

Or fix Docker’s DNS configuration system-wide in /etc/docker/daemon.json:

{
  "dns": ["8.8.8.8", "1.1.1.1"]
}

Restart Docker after changing: sudo systemctl restart docker

Prevention

  • Always click “Test” after creating a notification — don’t assume it works
  • Assign notifications to monitors when creating them (check “Apply to all existing monitors”)
  • Set up multiple notification channels — if email fails, Discord still works
  • Monitor Uptime Kuma itself — use an external service to monitor your monitoring (or a second Uptime Kuma instance)
  • Use webhook-based notifications (Discord, Slack, Telegram) instead of SMTP — they’re simpler and more reliable in Docker environments

Comments