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. Like saving, it requires a fresh identity confirmation; if you change host or port, enter the password again so the stored one is not sent to a different server.

Language and timezone

The same page (Admin → Notifications → Email & messages) carries two instance-wide settings:

Setting Effect
Notification language German or English for all channels. Status terms such as CRITICAL always stay English.
Instance timezone Applies to the times in notifications (always with the zone abbreviation, e.g. "10:53 CEST"), to the user interface, and as the default for new report schedules and status pages. When you first open it, your browser's timezone is suggested.

Without a timezone set, notifications stay on UTC (and say so); the interface then uses your browser's timezone. Up to v1.9.446 the interface was hard-wired to Europe/Rome.

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