mirror of
https://github.com/directus/directus.git
synced 2026-04-25 03:00:53 -04:00
Move nodemailer setup to src root
This commit is contained in:
@@ -7,7 +7,7 @@ import env from '../../env';
|
||||
import { InvalidPayloadException } from '../../exceptions';
|
||||
import logger from '../../logger';
|
||||
import { AbstractServiceOptions, Accountability, SchemaOverview } from '../../types';
|
||||
import mailer from '../mailer';
|
||||
import mailer from '../../mailer';
|
||||
import { SendMailOptions } from 'nodemailer';
|
||||
|
||||
const liquidEngine = new Liquid({
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
import nodemailer, { Transporter } from 'nodemailer';
|
||||
import env from '../env';
|
||||
import logger from '../logger';
|
||||
|
||||
let transporter: Transporter | null = null;
|
||||
|
||||
if (env.EMAIL_TRANSPORT === 'sendmail') {
|
||||
transporter = nodemailer.createTransport({
|
||||
sendmail: true,
|
||||
newline: env.EMAIL_SENDMAIL_NEW_LINE || 'unix',
|
||||
path: env.EMAIL_SENDMAIL_PATH || '/usr/sbin/sendmail',
|
||||
});
|
||||
} else if (env.EMAIL_TRANSPORT.toLowerCase() === 'smtp') {
|
||||
let auth: boolean | { user?: string; pass?: string } = false;
|
||||
|
||||
if (env.EMAIL_SMTP_USER || env.EMAIL_SMTP_PASSWORD) {
|
||||
auth = {
|
||||
user: env.EMAIL_SMTP_USER,
|
||||
pass: env.EMAIL_SMTP_PASSWORD,
|
||||
};
|
||||
}
|
||||
|
||||
transporter = nodemailer.createTransport({
|
||||
pool: env.EMAIL_SMTP_POOL,
|
||||
host: env.EMAIL_SMTP_HOST,
|
||||
port: env.EMAIL_SMTP_PORT,
|
||||
secure: env.EMAIL_SMTP_SECURE,
|
||||
auth: auth,
|
||||
} as Record<string, unknown>);
|
||||
} else if (env.EMAIL_TRANSPORT.toLowerCase() === 'mailgun') {
|
||||
const mg = require('nodemailer-mailgun-transport');
|
||||
transporter = nodemailer.createTransport(
|
||||
mg({
|
||||
auth: {
|
||||
api_key: env.EMAIL_MAILGUN_API_KEY,
|
||||
domain: env.EMAIL_MAILGUN_DOMAIN,
|
||||
},
|
||||
}) as any
|
||||
);
|
||||
} else {
|
||||
logger.warn('Illegal transport given for email. Check the EMAIL_TRANSPORT env var.');
|
||||
}
|
||||
|
||||
if (transporter) {
|
||||
transporter.verify((error) => {
|
||||
if (error) {
|
||||
logger.warn(`Couldn't connect to email server.`);
|
||||
logger.warn(`Email verification error: ${error}`);
|
||||
} else {
|
||||
logger.info(`Email connection established`);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export default transporter;
|
||||
@@ -14,7 +14,7 @@ import { rateLimiter } from '../middleware/rate-limiter';
|
||||
import storage from '../storage';
|
||||
import { AbstractServiceOptions, Accountability, SchemaOverview } from '../types';
|
||||
import { toArray } from '../utils/to-array';
|
||||
import mailer from './mailer';
|
||||
import mailer from '../mailer';
|
||||
import { SettingsService } from './settings';
|
||||
|
||||
export class ServerService {
|
||||
|
||||
Reference in New Issue
Block a user