aboutsummaryrefslogtreecommitdiffhomepage
path: root/shared/utils/miscs/email-child-process.js
diff options
context:
space:
mode:
authorJosh Morel <morel.josh@hotmail.com>2018-12-15 08:51:51 -0500
committerChocobozzz <me@florianbigard.com>2018-12-17 10:59:07 +0100
commitaf37210c0bd7bf343fe366ddd2b253e2214f5547 (patch)
treeefb08450a3c1d91429e4fc5a9bc6b2a9e7cae0ba /shared/utils/miscs/email-child-process.js
parent8fc58cb580994efe8f5167739568afadfe9850d7 (diff)
downloadPeerTube-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.js27
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 @@
1const MailDev = require('maildev')
2
3// must run maildev as forked ChildProcess
4// failed instantiation stops main process with exit code 0
5process.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})