aboutsummaryrefslogblamecommitdiffhomepage
path: root/shared/extra-utils/miscs/email-child-process.js
blob: 40ae37d70bfca1561c77c6a0873daeff314f612f (plain) (tree)


























                                                           
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: 1025,
      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 })
    })
  }
})