"@nestjs-modules/mailer": "^1.6.0",
"nodemailer": "^6.5.0",
"handlebars": "^4.7.7",
I'm trying to use with handlebars.
@Module({
imports: [
UserModule,
AdminModule,
HotelModule,
TypeOrmModule.forRoot(),
ConfigModule.forRoot({ isGlobal: true }),
MailerModule.forRootAsync({
useFactory: () => ({
transport:
'smtps://no-reply@XXX:[email protected]',
defaults: {
from: '"XXX" <[email protected]>',
},
template: {
dir: path.resolve(__dirname, 'templates'),
adapter: new HandlebarsAdapter(),
options: {
strict: true,
},
},
}),
}),
],
controllers: [AppController],
providers: [AppService],
})
import { Injectable } from '@nestjs/common';
import { MailerService } from '@nestjs-modules/mailer';
@Injectable()
export class UserMailService {
constructor(private readonly mailerService: MailerService) {}
sendEmailConfirmation(): void {
this.mailerService
.sendMail({
to: '[email protected]',
from: '[email protected]',
subject: 'Testing Nest Mailermodule with template โ',
template: '/welcome',
})
.then((success) => {
console.log(success);
})
.catch((err) => {
console.log(err);
});
}
}
I get this error when I use templates.
TypeError: Cannot destructure property 'templateName' of 'precompile(...)' as it is undefined.
at HandlebarsAdapter.compile (/mnt/c/Users/user/Desktop/web/api/node_modules/@nestjs-modules/mailer/dist/adapters/handlebars.adapter.js:52:17)
at /mnt/c/Users/user/Desktop/web/api/node_modules/@nestjs-modules/mailer/dist/mailer.service.js:48:40
at processPlugins (/mnt/c/Users/user/Desktop/web/api/node_modules/nodemailer/lib/mailer/index.js:279:13)
at /mnt/c/Users/user/Desktop/web/api/node_modules/nodemailer/lib/mailer/index.js:283:17
at Mail._convertDataImages (/mnt/c/Users/user/Desktop/web/api/node_modules/nodemailer/lib/mailer/index.js:387:20)
at Mail._defaultPlugins.compile (/mnt/c/Users/user/Desktop/web/api/node_modules/nodemailer/lib/mailer/index.js:31:41)
at processPlugins (/mnt/c/Users/user/Desktop/web/api/node_modules/nodemailer/lib/mailer/index.js:279:13)
at Mail._processPlugins (/mnt/c/Users/user/Desktop/web/api/node_modules/nodemailer/lib/mailer/index.js:287:9)
at Mail.sendMail (/mnt/c/Users/user/Desktop/web/api/node_modules/nodemailer/lib/mailer/index.js:164:14)
at MailerService.<anonymous> (/mnt/c/Users/user/Desktop/web/api/node_modules/@nestjs-modules/mailer/dist/mailer.service.js:74:51)
(node:8093) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open '/welcome.hbs'
at Object.openSync (fs.js:476:3)
at Object.readFileSync (fs.js:377:35)
at precompile (/mnt/c/Users/user/Desktop/web/api/node_modules/@nestjs-modules/mailer/dist/adapters/handlebars.adapter.js:34:41)
at HandlebarsAdapter.compile (/mnt/c/Users/user/Desktop/web/api/node_modules/@nestjs-modules/mailer/dist/adapters/handlebars.adapter.js:52:34)
at /mnt/c/Users/user/Desktop/web/api/node_modules/@nestjs-modules/mailer/dist/mailer.service.js:48:40
at processPlugins (/mnt/c/Users/user/Desktop/web/api/node_modules/nodemailer/lib/mailer/index.js:279:13)
at /mnt/c/Users/user/Desktop/web/api/node_modules/nodemailer/lib/mailer/index.js:283:17
at Mail._convertDataImages (/mnt/c/Users/user/Desktop/web/api/node_modules/nodemailer/lib/mailer/index.js:387:20)
at Mail._defaultPlugins.compile (/mnt/c/Users/user/Desktop/web/api/node_modules/nodemailer/lib/mailer/index.js:31:41)
at processPlugins (/mnt/c/Users/user/Desktop/web/api/node_modules/nodemailer/lib/mailer/index.js:279:13)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:8093) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:8093) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.