Skip to main content
Atrium uses Resend for all transactional email. Without email configured, magic link login and client invitation emails will not be delivered.
Email is optional. If you skip this step, password-based login still works. Magic link login and email-based client invitations will be unavailable until you add a Resend API key.
When you first open Atrium without an email configuration, the setup wizard will prompt you to add your credentials. You can also configure email by setting the environment variables directly before your first launch.

What Atrium sends

Atrium sends the following transactional emails: All emails are sent from the address you set in EMAIL_FROM.

Setup

1

Create a Resend account

Go to resend.com and sign up for a free account. The free tier allows up to 3,000 emails per month and 100 per day, which is sufficient for most agency and freelancer setups.
2

Verify your sending domain

In the Resend dashboard, go to Domains and add the domain you want to send email from. Resend will give you DNS records (MX, TXT, DKIM) to add to your domain registrar.Wait for the domain status to show Verified before continuing. Emails sent from an unverified domain will be rejected.
If you don’t want to verify a full domain right away, Resend provides a shared resend.dev subdomain for testing. Emails sent via resend.dev are only delivered to addresses registered in your Resend account, so use a verified domain for production.
3

Create an API key

In the Resend dashboard, go to API Keys and click Create API Key. Give it a descriptive name like atrium-production. You only need Sending access — read access is not required.Copy the key immediately. Resend only shows it once.
4

Set the environment variables

Add the following to your Docker environment or .env file:
EMAIL_FROM must use a domain you have verified in Resend. The display name is optional:
In Docker Compose:
5

Restart Atrium and verify

Restart your Atrium container to pick up the new variables:
To verify email is working, go to your Atrium login page and use the Send magic link option. You should receive an email within a few seconds. If it doesn’t arrive, check the Logs tab in the Resend dashboard for delivery errors.

Variable reference

string
Your Resend API key. Starts with re_. Without this, Atrium cannot send any email and will surface a configuration warning in the setup wizard.
string
default:"noreply@yourdomain.com"
The sender address shown on all outbound emails. Must be from a domain verified in your Resend account. Accepts a plain address or a Name <address> format.

Troubleshooting

Emails are not arriving Check the Logs section in the Resend dashboard. Common causes:
  • The domain in EMAIL_FROM is not verified in Resend.
  • The RESEND_API_KEY is incorrect or was deleted.
  • The recipient email is in a spam or blocked list.
Magic links expire before the user clicks them Magic links expire after 10 minutes by default. This is not currently configurable via environment variable. Invitation emails are sent but the link is broken The invitation link is constructed using WEB_URL. If WEB_URL is not set correctly for your deployment, the link will point to the wrong host. Set WEB_URL to the public URL where your Atrium frontend is accessible.