Built motion from commit (unavailable).|2.5.4
[motion2.git] / server / services / email / lib / imap.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x433f=['handleMessageBody','attributes','handleMessageEnd','handleSimpleParser','handleMessageAttributes','parser','handleFetchError','stringify','textCode','hasOwnProperty','imap','lodash','randomstring','mailparser','simpleParser','events','./utils','email','mailbox','INBOX','account','getAccount','once','ready','handleReady','bind','error','handleError','connect','prototype','connTimeout','authTimeout','isNil','service','authentication','user','password','host','port','tls','autotls','getHost','handleOpenBox','emit','readUnseen','end','search','UNSEEN','handleReadUnseen','length','fetch','message','handleFetchMessage','handleFetchEnd','closeBox','handleCloseBox','body'];(function(_0x1d1779,_0x284147){var _0x2377e9=function(_0x299f6f){while(--_0x299f6f){_0x1d1779['push'](_0x1d1779['shift']());}};_0x2377e9(++_0x284147);}(_0x433f,0xee));var _0xf433=function(_0x160c73,_0x2ee678){_0x160c73=_0x160c73-0x0;var _0xd9302=_0x433f[_0x160c73];return _0xd9302;};'use strict';var fs=require('fs');var path=require('path');var util=require('util');var Imap=require(_0xf433('0x0'));var _=require(_0xf433('0x1'));var rs=require(_0xf433('0x2'));var simpleParser=require(_0xf433('0x3'))[_0xf433('0x4')];var Iconv=require('iconv')['Iconv'];var EventEmitter=require(_0xf433('0x5'))['EventEmitter'];var utils=require(_0xf433('0x6'));var logger=require('../../../config/logger')(_0xf433('0x7'));function EmailImap(_0x2f5af5,_0x2551de){this[_0xf433('0x8')]=_0xf433('0x9');this[_0xf433('0xa')]=this[_0xf433('0xb')](_0x2f5af5,_0x2551de);this[_0xf433('0x0')]=new Imap(this[_0xf433('0xa')]);this[_0xf433('0x0')][_0xf433('0xc')](_0xf433('0xd'),this[_0xf433('0xe')]['bind'](this));this[_0xf433('0x0')][_0xf433('0xc')]('end',this['handleEnd'][_0xf433('0xf')](this));this[_0xf433('0x0')]['on'](_0xf433('0x10'),this[_0xf433('0x11')][_0xf433('0xf')](this));this[_0xf433('0x0')][_0xf433('0x12')]();}util['inherits'](EmailImap,EventEmitter);EmailImap[_0xf433('0x13')][_0xf433('0xb')]=function(_0x55b593,_0x1cc055){var _0x28912b={'connTimeout':_0x55b593[_0xf433('0x14')]?_0x55b593[_0xf433('0x14')]*0x3e8:0x2710,'authTimeout':_0x55b593[_0xf433('0x15')]?_0x55b593[_0xf433('0x15')]*0x3e8:0x1388};if(_[_0xf433('0x16')](_0x55b593[_0xf433('0x17')])){if(_0x55b593[_0xf433('0x18')]){_0x28912b[_0xf433('0x19')]=_0x55b593[_0xf433('0x19')];_0x28912b[_0xf433('0x1a')]=_0x55b593[_0xf433('0x1a')];}_0x28912b[_0xf433('0x1b')]=_0x55b593[_0xf433('0x1b')];_0x28912b['port']=_0x55b593[_0xf433('0x1c')]||0x3e1;if(_0x55b593[_0xf433('0x1d')]){_0x28912b[_0xf433('0x1d')]=!![];}else{_0x28912b[_0xf433('0x1d')]=![];_0x28912b[_0xf433('0x1e')]='required';}}else{_0x28912b[_0xf433('0x19')]=_0x55b593[_0xf433('0x19')];_0x28912b[_0xf433('0x1a')]=_0x55b593[_0xf433('0x1a')];_0x28912b[_0xf433('0x1b')]=utils[_0xf433('0x1f')](_0x55b593['service']);_0x28912b[_0xf433('0x1c')]=0x3e1;_0x28912b['tls']=!![];}_0x28912b['email']=_0x1cc055||_0x55b593[_0xf433('0x19')]||'anonymous@xcally.com';return _0x28912b;};EmailImap['prototype'][_0xf433('0xe')]=function(){this[_0xf433('0x0')]['openBox'](this[_0xf433('0x8')],![],this[_0xf433('0x20')]['bind'](this));};EmailImap[_0xf433('0x13')][_0xf433('0x20')]=function(_0x5f00fc,_0xaa70a){if(_0x5f00fc){this['handleError'](_0x5f00fc,!![]);}else{this[_0xf433('0x21')]('box',_0xaa70a);this[_0xf433('0x22')]();}};EmailImap['prototype']['handleCloseBox']=function(_0x5d25da){if(_0x5d25da){this[_0xf433('0x11')](_0x5d25da,!![]);}else{this[_0xf433('0x0')][_0xf433('0x23')]();}};EmailImap[_0xf433('0x13')][_0xf433('0x22')]=function(){this['imap'][_0xf433('0x24')]([_0xf433('0x25')],this[_0xf433('0x26')][_0xf433('0xf')](this));};EmailImap[_0xf433('0x13')][_0xf433('0x26')]=function(_0x94b8f1,_0x449e00){if(_0x94b8f1){this['handleError'](_0x94b8f1,!![]);}else{if(_0x449e00[_0xf433('0x27')]){try{var _0x53dc1f=this[_0xf433('0x0')][_0xf433('0x28')](_0x449e00,{'bodies':'','markSeen':!![]});_0x53dc1f['on'](_0xf433('0x29'),this[_0xf433('0x2a')][_0xf433('0xf')](this));_0x53dc1f[_0xf433('0xc')](_0xf433('0x10'),this['handleFetchError'][_0xf433('0xf')](this));_0x53dc1f[_0xf433('0xc')](_0xf433('0x23'),this[_0xf433('0x2b')][_0xf433('0xf')](this));}catch(_0x228124){logger['error'](_0x228124);}}else{this[_0xf433('0x0')][_0xf433('0x2c')](!![],this[_0xf433('0x2d')][_0xf433('0xf')](this));}}};EmailImap[_0xf433('0x13')]['handleFetchMessage']=function(_0x5d6633,_0x542976){_0x5d6633['on'](_0xf433('0x2e'),this[_0xf433('0x2f')][_0xf433('0xf')](this));_0x5d6633[_0xf433('0xc')](_0xf433('0x30'),this['handleMessageAttributes']['bind'](this));_0x5d6633[_0xf433('0xc')]('end',this[_0xf433('0x31')][_0xf433('0xf')](this));};EmailImap['prototype'][_0xf433('0x2f')]=function(_0x100945,_0x4bcd38){simpleParser(_0x100945,{'Iconv':Iconv},this[_0xf433('0x32')]['bind'](this));};EmailImap[_0xf433('0x13')][_0xf433('0x33')]=function(_0x5c32c9){};EmailImap[_0xf433('0x13')][_0xf433('0x31')]=function(){};EmailImap['prototype'][_0xf433('0x32')]=function(_0x58a5f5,_0x5efbb5){if(_0x58a5f5){logger['error'](_0x58a5f5);}else{var _0x1b3219=this;utils[_0xf433('0x34')](this[_0xf433('0xa')],_0x5efbb5,function(_0x4623da){_0x1b3219[_0xf433('0x21')](_0xf433('0x7'),_0x4623da);});}};EmailImap[_0xf433('0x13')][_0xf433('0x2b')]=function(){this[_0xf433('0x0')][_0xf433('0x2c')](!![],this[_0xf433('0x2d')]['bind'](this));};EmailImap[_0xf433('0x13')][_0xf433('0x35')]=function(_0x520999){this[_0xf433('0x11')](_0x520999);this['imap'][_0xf433('0x2c')](!![],this[_0xf433('0x2d')][_0xf433('0xf')](this));};EmailImap[_0xf433('0x13')]['handleEnd']=function(){this['emit'](_0xf433('0x23'));};EmailImap[_0xf433('0x13')][_0xf433('0x11')]=function(_0x2d0d0a,_0x5028ac){logger[_0xf433('0x10')](_0xf433('0x11'),this['account'][_0xf433('0x7')],JSON[_0xf433('0x36')](_0x2d0d0a));var _0x4f742a='';if(_0x2d0d0a){if(_0x2d0d0a[_0xf433('0x37')]){_0x4f742a=_0x2d0d0a[_0xf433('0x37')];}else{for(var _0x5446f7 in _0x2d0d0a){if(_0x2d0d0a[_0xf433('0x38')](_0x5446f7)){_0x4f742a+=_['upperFirst'](_0x5446f7)+':\x20'+_0x2d0d0a[_0x5446f7]+'\x0a';}}}}if(_0x5028ac){this[_0xf433('0x0')][_0xf433('0x23')]();}else{this['emit']('error',_0x4f742a);this[_0xf433('0x21')](_0xf433('0x23'));}};module['exports']=EmailImap;