Get started
Send your first email
Verify a domain, create a scoped key and send transactional email from your application server.
Before you start
RavenRelay handles queued sending, delivery events and signed webhooks on top of Amazon SES. You need an account, a project and a domain whose DNS you can edit.
Verify your sending domain
- Open the dashboard and create or select your project.
- In Domains, add the exact domain you will send from, such as example.com.
- Publish the generated DKIM CNAME records and the MX and SPF records for raven.example.com.
- Refresh verification until the identity, DKIM and MAIL FROM are ready.
Subdomains are separate sending identities. Verifying example.com does not authorize hello@mail.example.com. DMARC is detected separately and does not require an enforcement policy.
Create an API key
In API Keys, create a key for the selected project. Save the secret when it is shown; you cannot retrieve it later. A development project issues an rr_test_ key. Store it only in your application server's environment.
RAVENRELAY_API_KEY=your_test_api_keySubmit a message
curl https://api-production-1c6a.up.railway.app/v1/emails \ -H "Authorization: Bearer $RAVENRELAY_API_KEY" \ -H 'Content-Type: application/json' \ -H 'Idempotency-Key: welcome-user-123' \ -d '{ "from": "hello@example.com", "to": ["user@example.net"], "subject": "Welcome", "text": "Hello from RavenRelay" }'{ "id": "your-email-id", "status": "queued", "test_mode": true}HTTP 202 means the request has been stored for asynchronous processing. In Emails, open the returned ID to inspect its timeline. Test messages finish as simulated.
Move to live sending
Use a production project and an rr_live_ key. A trusted operator must activate the workspace after reviewing the owner and use case. Your domain must be ready, and SES account restrictions and quotas still apply.
Create your webhook before the first live send, then send one controlled message to an address you own. Sent means SES accepted it; delivered means the recipient's mail server accepted it, not that it reached the inbox.