SendGrid lets you send customized email messages to your users. These emails can be sent immediately or scheduled. You can send emails for purposes like reminders, promotions, announcements, and even custom authentication flows.
Add provider
To add SendGrid as a provider, navigate to Messaging > Providers > Add provider > Email.
Give your provider a name > choose SendGrid > click Save and continue. The provider will be saved to your project, but not enabled until you complete its configuration.
Configure provider
In the Configure step, you will need to provide details from your SendGrid dashboard to connect your Appwrite project.
You will need to provide the following information from your SendGrid dashboard.
Field name | |
API key | Head to Settings -> API Keys -> Create API Key. |
Sender email | The provider sends emails from this sender email. The sender email must either be an email under an authenticated domain or a verified sender identity. |
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. The reply-to email must either be an email under an authenticated domain or a verified sender identity. |
Reply-to name | The reply-to name that appears in the emails sent from this provider. |
After adding the following details, click Save and continue to enable the provider.
Test provider
Before sending your first message, make sure you've configured a topic and a target to send messages to.
To send a test message, navigate to Messaging > Messages > Create message > Email.
Add your message and in the targets step, select one of your test targets. Set the schedule to Now and click Send.
Verify that you can receive the message in your inbox. If not, check for logs in the Appwrite Console or in your provider's logs.
To send a message programmatically, use an Appwrite Server SDK.
const sdk = require('node-appwrite');
// Init SDK
const client = new sdk.Client();
const messaging = new sdk.Messaging(client);
client
.setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint
.setProject('<PROJECT_ID>') // Your project ID
.setKey('<API_KEY>') // Your secret API key
;
const message = await messaging.createEmail('<MESSAGE_ID>', '<SUBJECT>', '<CONTENT>');
You can follow the Send email messages journey to send your first push notification and test your provider.
Manage provider
You can update or delete a provider in the Appwrite Console.
Navigate to Messaging > Providers > click your provider. In the settings, you can update a provider's configuration or delete the provider.
To update or delete providers programmatically, use an Appwrite Server SDK.
const sdk = require('node-appwrite');
// Init SDK
const client = new sdk.Client();
const messaging = new sdk.Messaging(client);
client
.setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint
.setProject('<PROJECT_ID>') // Your project ID
.setKey('<YOUR_API_KEY>') // Your secret API key
;
const provider = await messaging.updateSendgridProvider(
'[PROVIDER_ID]', // providerId
'[NAME]', // name (optional)
'[API_KEY]', // apiKey (optional)
false, // enabled (optional)
'[FROM_NAME]', // fromName (optional)
'[email protected]', // fromEmail (optional)
'[REPLY_TO_NAME]', // replyToName (optional)
'[REPLY_TO_EMAIL]' // replyToEmail (optional)
);