Skip to content

Latest commit

 

History

History
66 lines (50 loc) · 1.15 KB

README.md

File metadata and controls

66 lines (50 loc) · 1.15 KB

Description

Mail module for Nest that uses Nodemailer to deliver messages.

Installation

$ npm i --save @fastnloud/nest-mail

Setup

Import module:

import { MailModule } from '@fastnloud/nest-mail';
import { Module } from '@nestjs/common';

@Module({
  imports: [MailModule],
})
export class AppModule {}

A sample .env file looks something like this:

MAIL_DEFAULT_FROM_ADDRESS=john.doe@example.com
MAIL_DEFAULT_FROM_NAME=John Doe
MAIL_RECIPIENTS=
MAIL_URL=smtp://localhost:1025

Usage

import { SmtpTransporter } from '@fastnloud/nest-mail';
import { Injectable } from '@nestjs/common';
import { SentMessageInfo } from 'nodemailer';

@Injectable()
export class MailService {
  constructor(private readonly smtpTransporter: SmtpTransporter) {}

  async send(): Promise<void> {
    this.smtpTransporter.send(
      {
        to: 'jane.doe@example.com',
        subject: `hello`,
        text: 'world',
      },
      (error: Error | null, info: SentMessageInfo) => {
        if (error) {
          throw error;
        }

        console.log(info);
      },
    );
  }
}

License

nest-mail is MIT licensed.