NineSec Team Shell
Server IP : 92.205.26.207  /  Your IP : 216.73.216.16
Web Server : Apache
System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64
User : zikryat ( 1002)
PHP Version : 8.3.23
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /home/zikryat/public_html/src/api/mail/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/zikryat/public_html/src/api/mail/mail.emitter.module.ts
/**
 * Copyright 2023, the hatemragab project author.
 * All rights reserved. Use of this source code is governed by a
 * MIT license that can be found in the LICENSE file.
 */

import {Module} from '@nestjs/common';
import {MailEmitterService} from './mail.emitter.service';
import {MailerModule} from "@nestjs-modules/mailer";
import {ConfigModule, ConfigService} from "@nestjs/config";
import {HandlebarsAdapter} from "@nestjs-modules/mailer/dist/adapters/handlebars.adapter";
import {join} from 'path';
import {MailEvent} from "./mail.event";
import {AppConfigService} from "../app_config/app_config.service";
import {AppConfigModule} from "../app_config/app_config.module";
import root from "app-root-path";

@Module({
    providers: [MailEmitterService, MailEvent],
    imports: [
        MailerModule.forRootAsync({
            imports: [ConfigModule],
            inject: [ConfigService],
            useFactory: async (config: ConfigService) => {
                return ({
                    transport: {
                        host: config.getOrThrow("EMAIL_HOST"),
                        secure: true,
                        port: 465,
                        auth: {
                            user: config.getOrThrow("EMAIL_USER"),
                            pass: config.getOrThrow("EMAIL_PASSWORD")
                        }
                    },
                    defaults: {
                        from: `\"No Reply\" <${config.getOrThrow("EMAIL_USER")}>`
                    },
                    template: {
                        dir: join(root.path, "dist", "api", "mail", "templates"),
                        adapter: new HandlebarsAdapter(),
                        options: {
                            strict: true
                        }
                    }
                });
            },

        }),
        AppConfigModule
    ],
    exports: [MailEmitterService],
})
export class MailEmitterModule {
}

NineSec Team - 2022