Email / SMTP¶
Vesana needs SMTP for three things:
- 2FA codes to users
- Alert notifications via email channels
- 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
apikeyor 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¶
- Notification channels — how email channels are built
- PDF reports — mail dispatch for reports