Skip to content

Email / SMTP

Vesana needs SMTP for three things:

  1. 2FA codes to users
  2. Alert notifications via email channels
  3. Scheduled PDF reports

Configuration

/admin/smtp (or in setup wizard step 5):

Field Example Meaning
Host smtp.example.com Server address
Port 587 (STARTTLS) / 465 (SMTPS) TLS port
User noreply@example.com Login
Password App password Login
From Vesana <noreply@example.com> From address
Reply-To optional Where replies go

Test mail button validates immediately.

Common SMTP providers

Gmail / Google Workspace

  • Host: smtp.gmail.com
  • Port: 587
  • TLS: STARTTLS
  • App password (not account password) — Workspace must have 2FA active
  • From: must be an alias-capable address

Microsoft 365

  • Host: smtp.office365.com
  • Port: 587
  • App password or OAuth (Vesana currently supports password / app password only)
  • Account must have „SMTP send allowed" (some tenants disable this)

Postmark / Mailgun / SendGrid

  • Host and port from provider
  • API key as password, user typically apikey or similar
  • Sender domain must have SPF/DKIM verified

Own Postfix

  • Host: your mail server
  • Port + auth as configured
  • DNS records: SPF + DKIM + DMARC clean, otherwise mails go to spam

Templates

Default templates are DE+EN, layouted, branded. Custom Jinja2 templates uploadable (Pro+).

Variables:

Variable Meaning
alert.host.name Hostname
alert.service.display_name Service name
alert.status OK / WARN / CRIT / NO_DATA
alert.message Plugin output
alert.host_url Direct link to host detail
alert.is_recovery Boolean
alert.acknowledged_by If already acknowledged

Retry behavior

When SMTP doesn't respond:

  • 3 retries with backoff (5 s, 30 s, 5 min)
  • Permanent failure: entry in notification log with status failed
  • Audit entry written

Visible at /admin/notification-log.

Bounce handling

Currently rudimentary — bounce returns, mail server response logged, but no auto address-disable. For permanently bad addresses: check user profile.

Encryption

Type Recommendation
STARTTLS on port 587 Standard, good
Direct TLS on 465 Older, but works
Plain SMTP on 25 Internal only, last resort

Next