Skip to main content


E-mail providers are used to send e-mail messages as part of your notification strategy. It is usually the first step in the transactional notification realm.

Provider interface

Each e-mail provider in Notifire must adhere to the following interface.

export interface IProvider {
id: string;
channelType: ChannelTypeEnum;

export interface IEmailOptions {
to: string | string[];
subject: string;
html: string;
from?: string;
text?: string;

export interface IEmailProvider extends IProvider {
channelType: ChannelTypeEnum.EMAIL;

sendMessage(options: IEmailOptions): Promise<any>;

In future releases we are planning to add more methods for each provider. Including the ability to send batch messages and webhook implementations.

Writing a provider

You can see how to write all types of providers in our article dedicated just for that.

Provider registration

After you have created your provider you must register it with the library:

await notifire.registerProvider(
new SendgridEmailProvider({
apiKey: process.env.SENDGRID_API_KEY,
from: "",