Просмотр исходного кода

Merge pull request #15127 from overleaf/ae-mandrill

Remove Mandrill nodemailer transport

GitOrigin-RevId: e83897fd8d54accec0954b9a36bb502a30cff22f
Alf Eaton 2 лет назад
Родитель
Сommit
8a93044a2a

+ 0 - 46
package-lock.json

@@ -18844,11 +18844,6 @@
         "node": ">= 10.0.0"
         "node": ">= 10.0.0"
       }
       }
     },
     },
-    "node_modules/addressparser": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz",
-      "integrity": "sha1-R6++GiqSYhkdtoOOT9HTm0CCF0Y="
-    },
     "node_modules/agent-base": {
     "node_modules/agent-base": {
       "version": "6.0.2",
       "version": "6.0.2",
       "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
       "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
@@ -32842,15 +32837,6 @@
         "tmpl": "1.0.5"
         "tmpl": "1.0.5"
       }
       }
     },
     },
-    "node_modules/mandrill-api": {
-      "version": "1.0.45",
-      "resolved": "https://registry.npmjs.org/mandrill-api/-/mandrill-api-1.0.45.tgz",
-      "integrity": "sha1-Fjk5z0hr0YJ3sPO69BLD5l2Epy0=",
-      "deprecated": "Deprecated. Replaced by @mailchimp/mailchimp_transactional",
-      "engines": {
-        "node": "*"
-      }
-    },
     "node_modules/map-obj": {
     "node_modules/map-obj": {
       "version": "2.0.0",
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
       "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
@@ -34109,16 +34095,6 @@
         "node": ">=6.0.0"
         "node": ">=6.0.0"
       }
       }
     },
     },
-    "node_modules/nodemailer-mandrill-transport": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/nodemailer-mandrill-transport/-/nodemailer-mandrill-transport-1.2.0.tgz",
-      "integrity": "sha1-aZaQKdJZtGkhzBLbcMoVUb85SwQ=",
-      "dependencies": {
-        "addressparser": "^1.0.1",
-        "extend": "^3.0.0",
-        "mandrill-api": "^1.0.45"
-      }
-    },
     "node_modules/nodemailer-ses-transport": {
     "node_modules/nodemailer-ses-transport": {
       "version": "1.5.1",
       "version": "1.5.1",
       "resolved": "https://registry.npmjs.org/nodemailer-ses-transport/-/nodemailer-ses-transport-1.5.1.tgz",
       "resolved": "https://registry.npmjs.org/nodemailer-ses-transport/-/nodemailer-ses-transport-1.5.1.tgz",
@@ -44873,7 +44849,6 @@
         "nock": "^13.1.3",
         "nock": "^13.1.3",
         "node-fetch": "^2.6.7",
         "node-fetch": "^2.6.7",
         "nodemailer": "^6.7.0",
         "nodemailer": "^6.7.0",
-        "nodemailer-mandrill-transport": "^1.2.0",
         "nodemailer-ses-transport": "^1.5.1",
         "nodemailer-ses-transport": "^1.5.1",
         "otplib": "^12.0.1",
         "otplib": "^12.0.1",
         "p-limit": "^2.3.0",
         "p-limit": "^2.3.0",
@@ -53114,7 +53089,6 @@
         "nock": "^13.1.1",
         "nock": "^13.1.1",
         "node-fetch": "^2.6.7",
         "node-fetch": "^2.6.7",
         "nodemailer": "^6.7.0",
         "nodemailer": "^6.7.0",
-        "nodemailer-mandrill-transport": "^1.2.0",
         "nodemailer-ses-transport": "^1.5.1",
         "nodemailer-ses-transport": "^1.5.1",
         "nvd3": "^1.8.6",
         "nvd3": "^1.8.6",
         "otplib": "^12.0.1",
         "otplib": "^12.0.1",
@@ -61757,11 +61731,6 @@
       "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz",
       "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz",
       "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA=="
       "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA=="
     },
     },
-    "addressparser": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz",
-      "integrity": "sha1-R6++GiqSYhkdtoOOT9HTm0CCF0Y="
-    },
     "agent-base": {
     "agent-base": {
       "version": "6.0.2",
       "version": "6.0.2",
       "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
       "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
@@ -72451,11 +72420,6 @@
         "tmpl": "1.0.5"
         "tmpl": "1.0.5"
       }
       }
     },
     },
-    "mandrill-api": {
-      "version": "1.0.45",
-      "resolved": "https://registry.npmjs.org/mandrill-api/-/mandrill-api-1.0.45.tgz",
-      "integrity": "sha1-Fjk5z0hr0YJ3sPO69BLD5l2Epy0="
-    },
     "map-obj": {
     "map-obj": {
       "version": "2.0.0",
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
       "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
@@ -73457,16 +73421,6 @@
       "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.2.tgz",
       "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.2.tgz",
       "integrity": "sha512-Dz7zVwlef4k5R71fdmxwR8Q39fiboGbu3xgswkzGwczUfjp873rVxt1O46+Fh0j1ORnAC6L9+heI8uUpO6DT7Q=="
       "integrity": "sha512-Dz7zVwlef4k5R71fdmxwR8Q39fiboGbu3xgswkzGwczUfjp873rVxt1O46+Fh0j1ORnAC6L9+heI8uUpO6DT7Q=="
     },
     },
-    "nodemailer-mandrill-transport": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/nodemailer-mandrill-transport/-/nodemailer-mandrill-transport-1.2.0.tgz",
-      "integrity": "sha1-aZaQKdJZtGkhzBLbcMoVUb85SwQ=",
-      "requires": {
-        "addressparser": "^1.0.1",
-        "extend": "^3.0.0",
-        "mandrill-api": "^1.0.45"
-      }
-    },
     "nodemailer-ses-transport": {
     "nodemailer-ses-transport": {
       "version": "1.5.1",
       "version": "1.5.1",
       "resolved": "https://registry.npmjs.org/nodemailer-ses-transport/-/nodemailer-ses-transport-1.5.1.tgz",
       "resolved": "https://registry.npmjs.org/nodemailer-ses-transport/-/nodemailer-ses-transport-1.5.1.tgz",

+ 2 - 8
services/web/app/src/Features/Email/EmailSender.js

@@ -4,7 +4,6 @@ const metrics = require('@overleaf/metrics')
 const Settings = require('@overleaf/settings')
 const Settings = require('@overleaf/settings')
 const nodemailer = require('nodemailer')
 const nodemailer = require('nodemailer')
 const sesTransport = require('nodemailer-ses-transport')
 const sesTransport = require('nodemailer-ses-transport')
-const mandrillTransport = require('nodemailer-mandrill-transport')
 const OError = require('@overleaf/o-error')
 const OError = require('@overleaf/o-error')
 const { RateLimiter } = require('../../infrastructure/RateLimiter')
 const { RateLimiter } = require('../../infrastructure/RateLimiter')
 const _ = require('lodash')
 const _ = require('lodash')
@@ -37,13 +36,8 @@ function getClient() {
         'sendgridApiKey configuration option is deprecated, use SMTP instead'
         'sendgridApiKey configuration option is deprecated, use SMTP instead'
       )
       )
     } else if (emailParameters.MandrillApiKey) {
     } else if (emailParameters.MandrillApiKey) {
-      logger.debug('using mandril for email')
-      client = nodemailer.createTransport(
-        mandrillTransport({
-          auth: {
-            apiKey: emailParameters.MandrillApiKey,
-          },
-        })
+      throw new OError(
+        'MandrillApiKey configuration option is deprecated, use SMTP instead'
       )
       )
     } else {
     } else {
       logger.debug('using smtp for email')
       logger.debug('using smtp for email')

+ 0 - 1
services/web/package.json

@@ -133,7 +133,6 @@
     "nock": "^13.1.3",
     "nock": "^13.1.3",
     "node-fetch": "^2.6.7",
     "node-fetch": "^2.6.7",
     "nodemailer": "^6.7.0",
     "nodemailer": "^6.7.0",
-    "nodemailer-mandrill-transport": "^1.2.0",
     "nodemailer-ses-transport": "^1.5.1",
     "nodemailer-ses-transport": "^1.5.1",
     "otplib": "^12.0.1",
     "otplib": "^12.0.1",
     "p-limit": "^2.3.0",
     "p-limit": "^2.3.0",

+ 0 - 1
services/web/test/unit/src/Email/EmailSenderTests.js

@@ -37,7 +37,6 @@ describe('EmailSender', function () {
       requires: {
       requires: {
         nodemailer: this.ses,
         nodemailer: this.ses,
         'nodemailer-ses-transport': sinon.stub(),
         'nodemailer-ses-transport': sinon.stub(),
-        'nodemailer-mandrill-transport': {},
         '@overleaf/settings': this.Settings,
         '@overleaf/settings': this.Settings,
         '../../infrastructure/RateLimiter': this.RateLimiter,
         '../../infrastructure/RateLimiter': this.RateLimiter,
         '@overleaf/metrics': {
         '@overleaf/metrics': {