diff --git a/packages/rocketchat-mongo-config/package.js b/packages/rocketchat-mongo-config/package.js index 69abd24efb9..bfb81a6d3d0 100644 --- a/packages/rocketchat-mongo-config/package.js +++ b/packages/rocketchat-mongo-config/package.js @@ -9,6 +9,7 @@ Package.onUse(function(api) { api.use([ 'ecmascript', 'mongo', + 'email', ]); api.mainModule('server/index.js', 'server'); diff --git a/packages/rocketchat-mongo-config/server/index.js b/packages/rocketchat-mongo-config/server/index.js index 3d63bd4dba9..caf55c97523 100644 --- a/packages/rocketchat-mongo-config/server/index.js +++ b/packages/rocketchat-mongo-config/server/index.js @@ -1,5 +1,7 @@ import tls from 'tls'; +import { PassThrough } from 'stream'; +import { EmailTest } from 'meteor/email'; import { Mongo } from 'meteor/mongo'; // FIX For TLS error see more here https://github.com/RocketChat/Rocket.Chat/issues/9316 @@ -17,3 +19,11 @@ if (typeof mongoOptionStr !== 'undefined') { } process.env.HTTP_FORWARDED_COUNT = process.env.HTTP_FORWARDED_COUNT || '1'; + +// Send emails to a "fake" stream instead of print them in console +if (process.env.NODE_ENV !== 'development' || process.env.TEST_MODE) { + const stream = new PassThrough(); + EmailTest.overrideOutputStream(stream); + stream.on('data', () => {}); + stream.on('end', () => {}); +}