Development Guides
SDK
Emails

Emails

Introduction

The Mail API provides a straightforward way to send emails to users. To send emails, we use the sendMail() method, which is available through the generated SDK. This method is housed in the ROQ platform and can be accessed using the roqServerClient object.

Code examples

Let's take an example in the Next.js project with the generated SDK installed in the default src/lib/roq folder. We can send an email to a user by using the following code:

import { roqServerClient } from '@/lib/roq/roq-server-client';
 
const sendMyMail = async() => {
    await roqServerClient.roqPlatform.asSuperAdmin().sendMail({
        mail: {
            key: 'onboarding',
            locale: 'en-US',
            emails: ['Fransic84@roq.tech'],
            data: [{ key: 'name', value: 'Francis84 Columbus' }] }
    })
}

In the framework such as Next.js. We only can use the sendMail() on the server side. Any method from roqServerClient is always executed on the server side.

To be able to send an email to a user, we also need to create a mail template in the ROQ Console (opens in a new tab). The mail template is a simple HTML template with some variables. The variables are replaced with the data that we send in the sendMail() method. Please check the mail template section for more information about the mail template.

Frameworks integration

The Mails API can be used in any ROQ's supported JavaScript frameworks such as Next.js, Nuxt.js, SvelteKit, Express.js, and RedwoodJS. Other than specific ROQ framework packages such as @roq/nextjs, there is no need to install any additional packages to use the Mail API. When we generate the SDK using @roq/cli, the generated SDK will provide the sendMail() method.