Skip to main content
Zepeed can email speedtest results and failure alerts using any standard mail transport. Configure your provider through environment variables, then enable email notifications from the dashboard.

Supported mail transports

Zepeed supports the standard Laravel mail drivers:
  • SMTP — Any SMTP-compatible server (Gmail, Office 365, Zoho, Fastmail, your own MTA)
  • Mailgun
  • Postmark
  • Amazon SES
  • Resend
  • Sendmail (local)
  • Log (for testing)

Configure the mail transport

Mail is configured via environment variables. See Environment Variables for the full list.
MAIL_MAILER=smtp
MAIL_HOST=smtp.example.com
MAIL_PORT=587
MAIL_USERNAME=your-user
MAIL_PASSWORD=your-password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="zepeed@example.com"
MAIL_FROM_NAME="Zepeed"
Restart the container after changing environment variables:
docker compose restart

Enable email notifications

1

Open Settings

From the dashboard, click your profile menu and select Settings.
2

Go to Notifications

Click Notifications in the sidebar.
3

Enable email

Toggle email notifications on and enter the recipient address(es).
4

Choose events

Pick which events trigger an email — typically test completed and/or test failed.
5

Send a test email

Use the Send test email button to verify delivery before relying on notifications.

Customize email templates

Zepeed ships with default email templates for test results and failure alerts. You can override them with your own content from Settings → Email Templates:
  • Subject — Use template variables like {{ provider }} and {{ download_mbps }}.
  • Body — Markdown or HTML. Reference the same variables to include speedtest data.
  • Recipient list — One or more email addresses per template.
Keep templates short. Long HTML emails are more likely to be flagged as spam.

Troubleshooting

  • Emails not arriving? Check your spam folder, then review Zepeed logs for SMTP errors.
  • Authentication failed? Re-verify MAIL_USERNAME and MAIL_PASSWORD. For Gmail, use an App Password.
  • Connection refused? Confirm MAIL_HOST and MAIL_PORT are reachable from the Zepeed container.
  • From address rejected? Many providers require the MAIL_FROM_ADDRESS to be a verified sender on the domain.
See Troubleshooting for more.