1.0.0 • Published 3 years ago

@mobizerg/nest-sendgrid-mail v1.0.0

Weekly downloads
35
License
MIT
Repository
github
Last release
3 years ago

Installation

Yarn

yarn add @mobizerg/nest-sendgrid-mail @sendgrid/mail

NPM

npm install @mobizerg/nest-sendgrid-mail @sendgrid/mail --save

Description

Sendgrid Mail integration module for Nest.js based on the Sendgrid Mail package.

Usage

Import the SendgridMailModule in app.module.ts

import { Module } from '@nestjs/common';
import { SendgridMailModule } from '@mobizerg/nest-sendgrid-mail';

@Module({
    imports: [
        SendgridMailModule.register(options),
    ],
})
export class AppModule {}

With Async

import { Module } from '@nestjs/common';
import { SendgridMailModule } from '@mobizerg/nest-sendgrid-mail';

@Module({
    imports: [
        SendgridMailModule.registerAsync({
            imports: [ConfigModule],
            useExisting: SendgridMailConfigService,
        }),
    ],
})
export class AppModule {}

Example config file (async)

import { Injectable } from '@nestjs/common';
import { ConfigService } from './config.service';
import { SendgridMailModuleOptions, SendgridMailOptionsFactory } from '@mobizerg/nest-sendgrid-mail';

@Injectable()
export class SendgridMailConfigService implements SendgridMailOptionsFactory {

  constructor(private readonly config: ConfigService) {}

  createSendgridMailOptions(name?: string): SendgridMailModuleOptions {
      
    return {
      name,
      apiKey: 'your-api-key',
      substitutionWrappers: {
        left: '{{',
        right: '}}',
      },
    };
  }
}

Importing inside services

import { Injectable } from '@nestjs/common';
import { SendgridMailService } from '@mobizerg/nest-sendgrid-mail';
import { ClientResponse } from "@sendgrid/client/src/response";

@Injectable()
export class MailService {
    
      constructor(private readonly mailer: SendgridMailService) {}
                  
      async send(): Promise<[ClientResponse, {}]> {
          return await this.mailer.send({
            to: "",
            from: "",
            subject: "",
            text: "",
            html: ""
          });
      }           
}

License

MIT

1.0.0

3 years ago

0.1.5

3 years ago

0.1.4

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago