diff options
author | Josh Morel <morel.josh@hotmail.com> | 2018-12-15 08:51:51 -0500 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2018-12-17 10:59:07 +0100 |
commit | af37210c0bd7bf343fe366ddd2b253e2214f5547 (patch) | |
tree | efb08450a3c1d91429e4fc5a9bc6b2a9e7cae0ba /shared/utils/miscs/email-child-process.js | |
parent | 8fc58cb580994efe8f5167739568afadfe9850d7 (diff) | |
download | PeerTube-af37210c0bd7bf343fe366ddd2b253e2214f5547.tar.gz PeerTube-af37210c0bd7bf343fe366ddd2b253e2214f5547.tar.zst PeerTube-af37210c0bd7bf343fe366ddd2b253e2214f5547.zip |
throw error if MailDev doesn't run
also allow calling in multiple file
Diffstat (limited to 'shared/utils/miscs/email-child-process.js')
-rw-r--r-- | shared/utils/miscs/email-child-process.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/shared/utils/miscs/email-child-process.js b/shared/utils/miscs/email-child-process.js new file mode 100644 index 000000000..40ae37d70 --- /dev/null +++ b/shared/utils/miscs/email-child-process.js | |||
@@ -0,0 +1,27 @@ | |||
1 | const MailDev = require('maildev') | ||
2 | |||
3 | // must run maildev as forked ChildProcess | ||
4 | // failed instantiation stops main process with exit code 0 | ||
5 | process.on('message', (msg) => { | ||
6 | if (msg.start) { | ||
7 | const maildev = new MailDev({ | ||
8 | ip: '127.0.0.1', | ||
9 | smtp: 1025, | ||
10 | disableWeb: true, | ||
11 | silent: true | ||
12 | }) | ||
13 | |||
14 | maildev.on('new', email => { | ||
15 | process.send({ email }) | ||
16 | }) | ||
17 | |||
18 | maildev.listen(err => { | ||
19 | if (err) { | ||
20 | // cannot send as Error object | ||
21 | return process.send({ err: err.message }) | ||
22 | } | ||
23 | |||
24 | return process.send({ err: null }) | ||
25 | }) | ||
26 | } | ||
27 | }) | ||