Как исправить ошибку в TS, NestJS?

Здравствуйте, помогите исправить ошибку:
TS2339: Property 'mailerService' does not exist on type 'typeof UserMailService'


import { Injectable } from '@nestjs/common';
import {MailerService} from "@nestjs-modules/mailer";


@Injectable()
export class UserMailService {
    constructor(private readonly mailerService: MailerService) {}
    static async sendActivationMail(to: string, link: any): Promise<void>{


        await this.mailerService.sendMail({
            from: process.env.SMTP_USER,
            to,
            subject: 'Активация аккаунта на ' + process.env.API_URL,
            text: '',
            html:
                `
                    <div>
                        <h1>Для активации перейдите по ссылке</h1>
                        <a href="${link}">${link}</a>
                    </div>
                `
        }).then(() => {})
            .catch(() => {});

    }

}


users.module.ts
import {Module} from '@nestjs/common';
import {TypeOrmModule} from "@nestjs/typeorm";
import {UserEntity} from "./entities/user.entity";
import {UserController} from "./users.controller";
import {UserService} from "./users.service";
import {TokenEntity} from "./entities/token.entity";
import {JwtModule} from "@nestjs/jwt";
import {TokenGuard} from "./token.guard";
import {MailerModule} from "@nestjs-modules/mailer";
import {UserMailService} from "./userMail.service";

@Module({
    imports: [TypeOrmModule.forFeature([UserEntity, TokenEntity]), JwtModule.register({
        global: true,
        secret: "234",
        signOptions: { expiresIn: '60s' },
    }), MailerModule.forRoot({
            transport: {
                host: process.env.SMTP_HOST,
                port: process.env.SMTP_PORT,
                ignoreTLS: true,
                secure: false,
                auth: {
                    user: process.env.SMTP_USER,
                    pass: process.env.SMTP_PASSWORD,
                },
            },
        defaults: {
            from: '"nest-modules" <modules@nestjs.com>',
        }
    })],
    controllers: [UserController],
    providers: [UserService, UserMailService, TokenGuard],

})
export class UsersModule {
}

При this.mailerService не видит функцию sendMail(), почему, помогите!
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
vabka
@vabka
Токсичный шарпист
У тебя метод sendActivationMail статичный. Он не имеет доступа к полям экземпляра.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
yarkov
@yarkov
Помог ответ? Отметь решением.
@Inject()
private service
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы