РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnsSpMaTp 117 of 201 menu
◀ ▶

Шаблон письма в Nest

Тема и получатель уже приходят с клиента, но тело письма остаётся одинаковым и не отражает содержимое сохранённой записи. Без подстановки заголовка уведомление выглядит обезличенным.

Перед вызовом sendMail сервис собирает текст в шаблонной строке JavaScript: значение заголовка вставляют в середину фразы. Отдельный движок шаблонов не нужен, достаточно поля text с готовой строкой.

Покажем на примере постов:

import { Injectable } from '@nestjs/common'; import { MailerService } from '@nestjs-modules/mailer'; @Injectable() export class PostService { mailerService: MailerService; constructor(mailerService: MailerService) { this.mailerService = mailerService; } async sendAboutTitle( to: string, subject: string, title: string, ) { const text = `Опубликован материал: ${title}.`; return this.mailerService.sendMail({ to, subject, text, }); } }

Контроллер передаст заголовок вместе с адресом и темой:

import { Body, Controller, Post } from '@nestjs/common'; import { PostService } from './post.service.js'; @Controller('posts') export class PostController { postService: PostService; constructor(postService: PostService) { this.postService = postService; } @Post('mail') sendMail( @Body('to') to: string, @Body('subject') subject: string, @Body('title') title: string, ) { return this.postService.sendAboutTitle( to, subject, title, ); } }

В WorkerService сформируйте текст письма со вставкой данных работника и вызовите отправку из WorkerController.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить