X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Femailer.ts;h=39b662eb279cf853072ad3fe8935956c0465a7c7;hb=37ff5005b47b9df2933a0b8812609a6c41faa170;hp=edc99057ca9e76f69180e5429f3575f5f42b7b60;hpb=371d4c60639e405ce8a503bea1395e9102fbba84;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/emailer.ts b/server/lib/emailer.ts index edc99057c..39b662eb2 100644 --- a/server/lib/emailer.ts +++ b/server/lib/emailer.ts @@ -1,11 +1,11 @@ import { readFileSync } from 'fs-extra' -import { isArray, merge } from 'lodash' +import { merge } from 'lodash' import { createTransport, Transporter } from 'nodemailer' import { join } from 'path' +import { arrayify, root } from '@shared/core-utils' import { EmailPayload } from '@shared/models' import { SendEmailDefaultOptions } from '../../shared/models/server/emailer.model' -import { isTestInstance } from '../helpers/core-utils' -import { root } from '@shared/core-utils' +import { isTestOrDevInstance } from '../helpers/core-utils' import { bunyanLogger, logger } from '../helpers/logger' import { CONFIG, isEmailEnabled } from '../initializers/config' import { WEBSERVER } from '../initializers/constants' @@ -29,7 +29,7 @@ class Emailer { this.initialized = true if (!isEmailEnabled()) { - if (!isTestInstance()) { + if (!isTestOrDevInstance()) { logger.error('Cannot use SMTP server because of lack of configuration. PeerTube will not be able to send mails!') } @@ -66,7 +66,7 @@ class Emailer { } } - return JobQueue.Instance.createJob({ type: 'email', payload: emailPayload }) + return JobQueue.Instance.createJobAsync({ type: 'email', payload: emailPayload }) } addPasswordCreateEmailJob (username: string, to: string, createPasswordUrl: string) { @@ -80,7 +80,7 @@ class Emailer { } } - return JobQueue.Instance.createJob({ type: 'email', payload: emailPayload }) + return JobQueue.Instance.createJobAsync({ type: 'email', payload: emailPayload }) } addVerifyEmailJob (username: string, to: string, verifyEmailUrl: string) { @@ -94,7 +94,7 @@ class Emailer { } } - return JobQueue.Instance.createJob({ type: 'email', payload: emailPayload }) + return JobQueue.Instance.createJobAsync({ type: 'email', payload: emailPayload }) } addUserBlockJob (user: MUser, blocked: boolean, reason?: string) { @@ -108,7 +108,7 @@ class Emailer { text: `Your account ${user.username} on ${CONFIG.INSTANCE.NAME} has been ${blockedWord}${reasonString}.` } - return JobQueue.Instance.createJob({ type: 'email', payload: emailPayload }) + return JobQueue.Instance.createJobAsync({ type: 'email', payload: emailPayload }) } addContactFormJob (fromEmail: string, fromName: string, subject: string, body: string) { @@ -127,12 +127,13 @@ class Emailer { } } - return JobQueue.Instance.createJob({ type: 'email', payload: emailPayload }) + return JobQueue.Instance.createJobAsync({ type: 'email', payload: emailPayload }) } async sendMail (options: EmailPayload) { if (!isEmailEnabled()) { - throw new Error('Cannot send mail because SMTP is not configured.') + logger.info('Cannot send mail because SMTP is not configured.') + return } const fromDisplayName = options.from @@ -157,9 +158,7 @@ class Emailer { subjectPrefix: CONFIG.EMAIL.SUBJECT.PREFIX }) - const toEmails = isArray(options.to) - ? options.to - : [ options.to ] + const toEmails = arrayify(options.to) for (const to of toEmails) { const baseOptions: SendEmailDefaultOptions = {