Skip to main content

Email / SMTP

Notifications

Mission Control integrates with SMTP servers to send email notifications.


Notifications

Use cases:

  • Send email alerts when health checks fail or configs change
  • Notify teams of incidents and infrastructure changes
  • Route notifications to different recipients based on severity
  • Use HTML or plain text email formatting
  • Integrate with any SMTP provider (Gmail, SendGrid, AWS SES, etc.)

Send email notifications via SMTP.

Basic Email Notification​

email-notification.yaml
apiVersion: mission-control.flanksource.com/v1
kind: Notification
metadata:
name: email-alerts
spec:
events:
- check.failed
to:
email:
host: smtp.example.com
port: 587
username:
valueFrom:
secretKeyRef:
name: smtp-credentials
key: username
password:
valueFrom:
secretKeyRef:
name: smtp-credentials
key: password
fromAddress: alerts@example.com
fromName: Mission Control
toAddresses:
- ops-team@example.com
Using Connection Reference
email-connection-notification.yaml
apiVersion: mission-control.flanksource.com/v1
kind: Notification
metadata:
name: email-via-connection
spec:
events:
- incident.created
- incident.resolved
to:
connection: connection://smtp/corporate
title: "[{{.incident.severity}}] {{.incident.title}}"
body: |
Incident: {{.incident.title}}
Severity: {{.incident.severity}}
Status: {{.incident.status}}

{{.incident.description}}
Routing by Severity
email-routing-notification.yaml
apiVersion: mission-control.flanksource.com/v1
kind: Notification
metadata:
name: email-critical
spec:
events:
- check.failed
filter: check.severity == "critical"
to:
email:
connection: connection://smtp/alerts
toAddresses:
- oncall@example.com
- management@example.com
title: "CRITICAL: {{.check.name}} Failed"
---
apiVersion: mission-control.flanksource.com/v1
kind: Notification
metadata:
name: email-warnings
spec:
events:
- check.failed
filter: check.severity == "warning"
to:
email:
connection: connection://smtp/alerts
toAddresses:
- engineering@example.com
Gmail SMTP
email-gmail.yaml
apiVersion: mission-control.flanksource.com/v1
kind: Notification
metadata:
name: gmail-alerts
spec:
events:
- check.failed
to:
email:
host: smtp.gmail.com
port: 587
encryption: ExplicitTLS
auth: Plain
username:
valueFrom:
secretKeyRef:
name: gmail-credentials
key: email
password:
valueFrom:
secretKeyRef:
name: gmail-credentials
key: app-password # Use App Password, not regular password
fromAddress: alerts@yourcompany.com
toAddresses:
- team@example.com
AWS SES
email-ses.yaml
apiVersion: mission-control.flanksource.com/v1
kind: Notification
metadata:
name: ses-alerts
spec:
events:
- check.failed
to:
email:
host: email-smtp.us-east-1.amazonaws.com
port: 587
encryption: ExplicitTLS
username:
valueFrom:
secretKeyRef:
name: ses-credentials
key: smtp-username
password:
valueFrom:
secretKeyRef:
name: ses-credentials
key: smtp-password
fromAddress: noreply@verified-domain.com
toAddresses:
- alerts@example.com

Configuration Options​

FieldDescriptionDefault
hostSMTP server hostnameRequired
portSMTP server port587
usernameSMTP authentication usernameRequired
passwordSMTP authentication passwordRequired
fromAddressSender email addressRequired
fromNameSender display nameOptional
toAddressesList of recipient email addressesRequired
subjectEmail subject (supports templates)Optional
encryptionTLS mode: None, ExplicitTLS, ImplicitTLS, AutoAuto
authAuth method: None, Plain, CRAMMD5, OAuth2Plain
insecureTLSSkip TLS certificate verificationfalse
headersCustom email headersOptional

Encryption Modes​

ModeDescriptionCommon Port
NoneNo encryption (not recommended)25
ExplicitTLSSTARTTLS upgrade587
ImplicitTLSTLS from connection start465
AutoAuto-detect based on port-

Next Steps​