]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/emailer.ts
Fix lint
[github/Chocobozzz/PeerTube.git] / server / lib / emailer.ts
index 6bb61484b2fe072375fa58a48f426d584f516036..bd10895308e29f213b22df00443fce3206b654c7 100644 (file)
@@ -2,9 +2,10 @@ import { readFileSync } from 'fs-extra'
 import { isArray, merge } from 'lodash'
 import { createTransport, Transporter } from 'nodemailer'
 import { join } from 'path'
+import { root } from '@shared/core-utils'
 import { EmailPayload } from '@shared/models'
 import { SendEmailDefaultOptions } from '../../shared/models/server/emailer.model'
-import { isTestInstance, root } from '../helpers/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'
@@ -28,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!')
       }
 
@@ -131,7 +132,8 @@ class Emailer {
 
   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
@@ -140,6 +142,12 @@ class Emailer {
 
     const email = new Email({
       send: true,
+      htmlToText: {
+        selectors: [
+          { selector: 'img', format: 'skip' },
+          { selector: 'a', options: { hideLinkHrefIfSameAsText: true } }
+        ]
+      },
       message: {
         from: `"${fromDisplayName}" <${CONFIG.SMTP.FROM_ADDRESS}>`
       },
@@ -172,7 +180,7 @@ class Emailer {
         }
       }
 
-      // overriden/new variables given for a specific template in the payload
+      // overridden/new variables given for a specific template in the payload
       const sendOptions = merge(baseOptions, options)
 
       await email.send(sendOptions)
@@ -222,7 +230,7 @@ class Emailer {
       sendmail: true,
       newline: 'unix',
       path: CONFIG.SMTP.SENDMAIL,
-      logger: bunyanLogger as any
+      logger: bunyanLogger
     })
   }