PeerTube/shared/extra-utils/miscs/email-child-process.js

28 lines
590 B
JavaScript

const MailDev = require('maildev')
// must run maildev as forked ChildProcess
// failed instantiation stops main process with exit code 0
process.on('message', (msg) => {
if (msg.start) {
const maildev = new MailDev({
ip: '127.0.0.1',
smtp: msg.port,
disableWeb: true,
silent: true
})
maildev.on('new', email => {
process.send({ email })
})
maildev.listen(err => {
if (err) {
// cannot send as Error object
return process.send({ err: err.message })
}
return process.send({ err: null })
})
}
})