swaf/src/components/MailComponent.ts

27 lines
830 B
TypeScript
Raw Normal View History

2020-04-22 15:52:17 +02:00
import ApplicationComponent from "../ApplicationComponent";
import {Express} from "express";
2020-04-22 15:52:17 +02:00
import Mail from "../Mail";
import config from "config";
import SecurityError from "../SecurityError";
2020-04-22 15:52:17 +02:00
export default class MailComponent extends ApplicationComponent<void> {
public async checkSecuritySettings(): Promise<void> {
2020-07-15 15:39:08 +02:00
// if (!config.get<boolean>('mail.secure')) {
// throw new SecurityError('Cannot set mail.secure to false');
// }
if (config.get<boolean>('mail.allow_invalid_tls')) {
throw new SecurityError('Cannot set mail.allow_invalid_tls to true');
}
}
public async start(app: Express): Promise<void> {
2020-04-22 15:52:17 +02:00
await this.prepare('Mail connection', () => Mail.prepare());
}
public async stop(): Promise<void> {
Mail.end();
}
}