Grafana SMTP settings for alert email
Grafana sends alert notifications, user invites and password resets with the `[smtp]` section of `grafana.ini` (`/etc/grafana/grafana.ini` on deb and RPM installs). `host` takes host and port in one value, and Grafana switches to implicit TLS only when that port is exactly 465. Unitpost's 2465 fallback therefore won't work here; if 587 is blocked, use 2587.
Create a send-only key
In Unitpost, open Settings → SMTP and create a send-only key.
from_addressdefaults toadmin@grafana.localhost, so change it to an address on a verified domain.Edit grafana.ini
Left empty,
startTLS_policyupgrades only if the server offers it;MandatoryStartTLSrefuses to send without TLS. For implicit TLS, usehost = smtp.unitpost.com:465and leave the policy empty.ini[smtp] enabled = true host = smtp.unitpost.com:587 user = unitpost password = pk_live_... from_address = grafana@yourdomain.com from_name = Grafana startTLS_policy = MandatoryStartTLSIn Docker, each key maps to
GF_SMTP_<KEY>:GF_SMTP_ENABLED=true,GF_SMTP_HOST=smtp.unitpost.com:587,GF_SMTP_USER=unitpost,GF_SMTP_PASSWORD,GF_SMTP_FROM_ADDRESSandGF_SMTP_STARTTLS_POLICY.Restart Grafana
Grafana reads
grafana.iniat startup.Shellsudo systemctl restart grafana-serverTest an email contact point
Go to Alerts & IRM → Alerting → Notification configuration and open the Contact points tab. Edit or create a contact point with the Email integration, click Test, then Send test notification.
If the test fails
SMTP not configured, check your grafana.ini config file's [smtp] sectionmeansenabledis stillfalseor Grafana hasn't restarted. A timeout on 2465 is the port 465 rule above.550 5.7.1meansfrom_addressisn't on a verified domain.