Resend is an email API built for developers. You verify a sending domain, create an API key, and send email through its REST API, SDKs, or SMTP relay.
How does the integration work?
You can use the Resend provider in Appwrite Messaging to send customized emails to your users, such as reminders, promotions, announcements, and custom authentication flows. Emails can be sent immediately or scheduled, to topics, users, or individual targets.
The provider talks to the Resend API, so it needs a Resend API key rather than SMTP settings. On Appwrite Cloud, one-click setup connects your Resend account and creates that key for you, with sending-only permission and restricted to the domain you pick.
One-click setup relies on Resend being configured as an OAuth2 provider for the Appwrite Cloud Console, so it only appears on Appwrite Cloud. On self-hosted Appwrite, create the API key in Resend and enter it by hand.
How to implement
To implement the Resend provider in Appwrite Messaging, there are several steps you must complete:
Step 1: Verify a domain in Resend
First, sign up for a Resend account and add your domain on the Domains page. Add the DNS records Resend shows you and wait until the domain is verified, because Resend only sends from verified domains.
Step 2: Add the Resend provider to your Appwrite project
For this step, you must create an account on Appwrite Cloud or self-host Appwrite if you haven't already. In your Appwrite project, head to Messaging > Providers, click Add provider, and choose Email. Give your provider a name, choose Resend, and click Save and continue.
In the Configure step, use one-click setup or fill in the fields by hand.
On Appwrite Cloud, the Configure step opens with a One-click setup card above the form.
- Click Connect with Resend and authorize Appwrite in Resend.
- Select a verified Domain. If none of your domains are verified yet, verify one in Resend and click Check again.
- Click Generate API key.
- Review the filled-in fields and click Create provider.
Appwrite creates an API key named Appwrite SMTP: <project name> in your Resend account, with sending-only permission and restricted to the selected domain. It also fills any empty fields: the sender email becomes noreply@<domain> unless you already typed an address on that domain, the sender name defaults to your project name, and the provider name defaults to One-click Resend sender. If you leave the wizard without creating the provider, Appwrite revokes the key it generated.
In the Resend dashboard, go to API Keys and click Create API Key. Then fill in the following fields in Appwrite:
| Field name | |
|---|---|
| API key | The API key you created in Resend. |
| Sender email | The provider sends emails from this address. It must be an email under a verified domain in Resend. |
| Sender name | The sender name that appears in the emails sent from this provider. |
| Reply-to email | The reply-to email that appears in the emails sent from this provider. |
| Reply-to name | The reply-to name that appears in the emails sent from this provider. |
Click Save and continue to enable the provider.
Step 3: Test the Resend provider
Before you proceed, you must already have at least one topic or target set up.
Go to Messaging > Messages, click Create message, and choose Email. Write a test message, select one of your test targets, set the schedule to Now, and click Send. Check that the email arrives in your inbox. If it doesn't, check the logs in the Appwrite Console and in your Resend dashboard.
To send emails from your backend instead, follow the Send email messages guide with an Appwrite Server SDK.
Read more about Resend and Appwrite Messaging
If you would like to learn more about Resend and Appwrite Messaging, we have some resources that you should visit:
