Skip to content

Latest commit

 

History

History
167 lines (136 loc) · 3.99 KB

README.md

File metadata and controls

167 lines (136 loc) · 3.99 KB

Nest Logo

A simple nestjs wrapper of Resend. It support send mail only

NPM Version Package License NPM Downloads

Features

  1. send email
  2. send batch emails

Installation

# npm
$ npm install nestjs-resend

# yarn
$ yarn add nestjs-resend

# pnpm
$ pnpm add nestjs-resend

Usage

Importing module

import { ResendModule } from 'nestjs-resend';

@Module({
  imports: [
    ResendModule.forRoot({
      apiKey: 'your resend api key',
    }),
  ],
  providers: [],
  exports: [],
})

Importing module async

import { ResendModule } from 'nestjs-resend';

@Module({
  imports: [
    ResendModule.forRootAsync({
      useFactory: async () => ({
        apiKey: 'your resend api key',
      })
    }),
  ],
  providers: [],
  exports: [],
})

Interfaces

interface Options {
  apiKey: string
}

Send Email

import { ResendService } from 'nestjs-resend';

@Injectable()
export class YourService {
  constructor(private readonly resendService: ResendService) {

    // text
    await this.resendService.send({
      from: '[email protected]',
      to: '[email protected]',
      subject: 'hello world',
      text: 'it works!',
    });

    // html
    await this.resendService.send({
      from: '[email protected]',
      to: '[email protected]',
      subject: 'hello world',
      html: '<strong>it works!</strong>',
    });

    // react
    await this.resendService.send({
      from: '[email protected]',
      to: '[email protected]',
      subject: 'hello world',
      react: <EmailTemplate firstName="John" product="MyApp" />,
    });

    // To include a friendly name, use the format "Your Name <[email protected]>"
    await this.resendService.send({
      from: 'Your Name <[email protected]>',
      to: '[email protected]',
      subject: 'hello world',
      react: <EmailTemplate firstName="John" product="MyApp" />,
    });
  }

Send Batch Emails

import { ResendService } from 'nestjs-resend';

@Injectable()
export class YourService {
  constructor(private readonly resendService: ResendService) {


    await this.resendService.sendBatch([
      // text
      {
        from: '[email protected]',
        to: '[email protected]',
        subject: 'hello world',
        text: 'it works!',
      },
      // html
      {
        from: '[email protected]',
        to: '[email protected]',
        subject: 'hello world',
        html: '<strong>it works!</strong>',
      },
      // react
      {
        from: '[email protected]',
        to: '[email protected]',
        subject: 'hello world',
        react: <EmailTemplate firstName="John" product="MyApp" />,
      },
      // To include a friendly name, use the format "Your Name <[email protected]>"
      {
        from: 'Your Name <[email protected]>',
        to: '[email protected]',
        subject: 'hello world',
        react: <EmailTemplate firstName="John" product="MyApp" />,
      }
    ]);
  }

License

Nestjs-Resend is MIT licensed.