FAQ & Troubleshooting
General
What happens when I reach my mail storage limit?
Emails are still forwarded to your targets, but they won't be stored in the dashboard. You'll see a warning in the logs.
Can I use both Resend and SendGrid simultaneously?
Yes. Each webhook has separate Resend and SendGrid URLs. You can configure different providers per webhook.
How are forwarding loops detected?
Three checks: (1) sender matches FORWARD_FROM_EMAIL, (2) subject has 2+ [FWD] prefixes, (3) rate limit of 10 emails/minute per webhook.
Delivery & Retries
What happens when a delivery fails?
Failed deliveries are automatically retried up to 3 times with exponential backoff (1min, 5min, 15min). After 3 failures, you receive a notification.
How often does the retry processor run?
Every 2 minutes, configured via Vercel cron.
BYODB
Which PostgreSQL versions are supported?
PostgreSQL 14 and above. SSL connections are recommended.
Can I use a local PostgreSQL server?
No. For security, private/internal IP addresses (127.x, 10.x, 192.168.x) are blocked. Use a cloud-hosted provider like Neon or Supabase.
Will I lose data when switching databases?
Data is stored independently in each backend. Switching does not migrate data between Managed Database and PostgreSQL.
API
How do I get an API key?
Go to Dashboard > Settings > API Keys (Pro plan required).
What are the rate limits?
API: 100 requests/minute per key. Webhook ingest: 60/minute per IP. Auth routes: 10/minute per IP.
Troubleshooting
Webhook returns 401 Unauthorized
- Verify the shared secret matches your email provider configuration
- For Resend: ensure Svix signature verification matches the webhook secret
- For SendGrid: include
x-webhook-secretheader
Webhook returns 429 Too Many Requests
Rate limit exceeded. Wait for the window to reset (check the X-RateLimit-Reset response header).
Emails not forwarding
- Check the webhook is active (green status in dashboard)
- Verify forwarding email addresses are correct
- Check for loop detection in logs