checkId: check.notify.email.configured plugin: stellaops.doctor.notify severity: warn tags: [notify, email, smtp, quick, configuration]

Email Configuration

This Doctor check verifies that the email (SMTP) notification channel is configured completely — host, port, and sender address — before Stella Ops attempts to deliver alerts. It is a fast, local-only configuration check aimed at operators setting up or troubleshooting notifications; for the network probe, see check.notify.email.connectivity.

What It Checks

Verifies that the email (SMTP) notification channel is properly configured. The check reads the Notify:Channels:Email configuration section and validates:

The check only runs when the Notify:Channels:Email configuration section exists.

Why It Matters

Email notifications deliver critical alerts for release gate failures, policy violations, and security findings. Without a properly configured SMTP host, no email notifications can be sent, leaving operators blind to events that require immediate action. A missing from-address causes emails to be rejected by receiving mail servers.

Common Causes

How to Fix

Docker Compose

Add environment variables to your service definition:

environment:
  Notify__Channels__Email__SmtpHost: "smtp.example.com"
  Notify__Channels__Email__SmtpPort: "587"
  Notify__Channels__Email__FromAddress: "noreply@example.com"
  Notify__Channels__Email__UseSsl: "true"

Bare Metal / systemd

Edit appsettings.json:

{
  "Notify": {
    "Channels": {
      "Email": {
        "SmtpHost": "smtp.example.com",
        "SmtpPort": 587,
        "FromAddress": "noreply@example.com",
        "UseSsl": true
      }
    }
  }
}

Restart the service:

sudo systemctl restart stellaops-notify

Kubernetes / Helm

Set values in your Helm values.yaml:

notify:
  channels:
    email:
      smtpHost: "smtp.example.com"
      smtpPort: 587
      fromAddress: "noreply@example.com"
      useSsl: true
      credentialsSecret: "stellaops-smtp-credentials"

Verification

stella doctor run --check check.notify.email.configured