vpn.email.client
Version:
Vpn.Email client IMAP core
49 lines (35 loc) • 1.1 kB
text/typescript
import startImap from './imap'
import * as net from 'net'
const user: IinputData = process.env;
const listenFolder = process.argv [2] === 'null' ? null : process.argv [2]
const saveFolder = process.argv [3] === 'null' ? null : process.argv [3]
let status = false
let busy = false
const sendStatus = ( _status: boolean ) => {
status = _status
process.send ( _status )
}
const imap = new startImap ( user, listenFolder, true, message => {
process.send ( message )
}, sendStatus, null )
const sendMail = ( buffer: Buffer ) => {
return imap.save ( buffer, saveFolder, err => {
busy = false
if ( err ) {
return sendStatus ( false )
}
return sendStatus ( true )
})
}
process.on ( 'message', ( cmd ) => {
if ( typeof cmd === 'string') {
if ( cmd === 'busy') {
return imap.checkBusy ()
}
return console.log ( `imap process.on message ERROR unknow command!`, cmd )
}
if ( !saveFolder || ! saveFolder.length )
return console.log ('========> imapSub ERROR, this have not saveFolder but looks try send mail!')
const data = new Buffer( cmd )
sendMail ( data )
})