A simple nestjs wrapper of Resend. It support send mail only
- send email
- send batch emails
# npm
$ npm install nestjs-resend
# yarn
$ yarn add nestjs-resend
# pnpm
$ pnpm add nestjs-resend
import { ResendModule } from 'nestjs-resend';
@Module({
imports: [
ResendModule.forRoot({
apiKey: 'your resend api key',
}),
],
providers: [],
exports: [],
})
import { ResendModule } from 'nestjs-resend';
@Module({
imports: [
ResendModule.forRootAsync({
useFactory: async () => ({
apiKey: 'your resend api key',
})
}),
],
providers: [],
exports: [],
})
interface Options {
apiKey: string
}
import { ResendService } from 'nestjs-resend';
@Injectable()
export class YourService {
constructor(private readonly resendService: ResendService) {
// text
await this.resendService.send({
from: 'you@example.com',
to: 'user@gmail.com',
subject: 'hello world',
text: 'it works!',
});
// html
await this.resendService.send({
from: 'you@example.com',
to: 'user@gmail.com',
subject: 'hello world',
html: '<strong>it works!</strong>',
});
// react
await this.resendService.send({
from: 'you@example.com',
to: 'user@gmail.com',
subject: 'hello world',
react: <EmailTemplate firstName="John" product="MyApp" />,
});
// To include a friendly name, use the format "Your Name <sender@domain.com>"
await this.resendService.send({
from: 'Your Name <you@example.com>',
to: 'user@gmail.com',
subject: 'hello world',
react: <EmailTemplate firstName="John" product="MyApp" />,
});
}
import { ResendService } from 'nestjs-resend';
@Injectable()
export class YourService {
constructor(private readonly resendService: ResendService) {
await this.resendService.sendBatch([
// text
{
from: 'you@example.com',
to: 'user@gmail.com',
subject: 'hello world',
text: 'it works!',
},
// html
{
from: 'you@example.com',
to: 'user@gmail.com',
subject: 'hello world',
html: '<strong>it works!</strong>',
},
// react
{
from: 'you@example.com',
to: 'user@gmail.com',
subject: 'hello world',
react: <EmailTemplate firstName="John" product="MyApp" />,
},
// To include a friendly name, use the format "Your Name <sender@domain.com>"
{
from: 'Your Name <you@example.com>',
to: 'user@gmail.com',
subject: 'hello world',
react: <EmailTemplate firstName="John" product="MyApp" />,
}
]);
}
Nestjs-Resend is MIT licensed.