Transactional Emails
Sending Transactional Emails
The /api/v1/notifications/send/:type
endpoint is configured to send a variety of email types. You start with an
example using the invite
transactional email invitation type, which is used whenever an email is invited to join a
tenant.
You can extend these with your own using the sendEmail
function. Below is an example of the invite
type's call:
// src/api/notifciations.ts
const {data} = // ...
// ...
const parsedLocale = locale.split("-")[0];
const templateName = `${invitationType}-${parsedLocale}` as TemplateName;
const emailData = {
inviteTenant: data.tenant_name,
inviteUrl: `${SITE_URL}/invite/${invitation.token}`,
};
await sendEmail(c, data.invited_user_email, templateName, emailData);
Supported Transactional Email Providers
Out of the box, the following email providers are supported in the backend (see src/mail.ts
for full code):
If you have strict EU data requirements, Mailjet is recommended. Otherwise, any of these are perfectly valid, with good deliverability rates and affordable pricing.
When using aws
as the email provider, you must set a corresponding AWS_ACCESS_KEY_ID
, AWS_SECRET_ACCESS_KEY
, and
AWS_REGION
environment variables for the backend. This access id must have the correct permissions for sending your
target region.