Built motion from commit (unavailable).|2.5.31
[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 _0x2a2c=['end','handleEnd','error','handleError','connect','inherits','prototype','connTimeout','service','user','password','host','port','tls','autotls','getHost','anonymous@xcally.com','handleReady','openBox','mailbox','handleOpenBox','emit','box','readUnseen','handleCloseBox','search','handleReadUnseen','fetch','message','handleFetchMessage','handleFetchError','handleFetchEnd','closeBox','body','handleMessageBody','handleMessageAttributes','handleSimpleParser','parser','stringify','upperFirst','exports','path','util','lodash','randomstring','mailparser','simpleParser','iconv','Iconv','events','EventEmitter','./utils','../../../config/logger','email','INBOX','account','getAccount','imap','once','ready','bind'];(function(_0x53f2ad,_0x11933d){var _0x478af7=function(_0x7c892d){while(--_0x7c892d){_0x53f2ad['push'](_0x53f2ad['shift']());}};_0x478af7(++_0x11933d);}(_0x2a2c,0x197));var _0xc2a2=function(_0x550b98,_0x5552ba){_0x550b98=_0x550b98-0x0;var _0xe38aca=_0x2a2c[_0x550b98];return _0xe38aca;};'use strict';var fs=require('fs');var path=require(_0xc2a2('0x0'));var util=require(_0xc2a2('0x1'));var Imap=require('imap');var _=require(_0xc2a2('0x2'));var rs=require(_0xc2a2('0x3'));var simpleParser=require(_0xc2a2('0x4'))[_0xc2a2('0x5')];var Iconv=require(_0xc2a2('0x6'))[_0xc2a2('0x7')];var EventEmitter=require(_0xc2a2('0x8'))[_0xc2a2('0x9')];var utils=require(_0xc2a2('0xa'));var logger=require(_0xc2a2('0xb'))(_0xc2a2('0xc'));function EmailImap(_0x455752,_0x511f29){this['mailbox']=_0xc2a2('0xd');this[_0xc2a2('0xe')]=this[_0xc2a2('0xf')](_0x455752,_0x511f29);this[_0xc2a2('0x10')]=new Imap(this[_0xc2a2('0xe')]);this[_0xc2a2('0x10')][_0xc2a2('0x11')](_0xc2a2('0x12'),this['handleReady'][_0xc2a2('0x13')](this));this['imap'][_0xc2a2('0x11')](_0xc2a2('0x14'),this[_0xc2a2('0x15')]['bind'](this));this[_0xc2a2('0x10')]['on'](_0xc2a2('0x16'),this[_0xc2a2('0x17')]['bind'](this));this['imap'][_0xc2a2('0x18')]();}util[_0xc2a2('0x19')](EmailImap,EventEmitter);EmailImap[_0xc2a2('0x1a')][_0xc2a2('0xf')]=function(_0x2d59f0,_0xba9419){var _0x513ee5={'connTimeout':_0x2d59f0[_0xc2a2('0x1b')]?_0x2d59f0[_0xc2a2('0x1b')]*0x3e8:0x2710,'authTimeout':_0x2d59f0['authTimeout']?_0x2d59f0['authTimeout']*0x3e8:0x1388};if(_['isNil'](_0x2d59f0[_0xc2a2('0x1c')])){if(_0x2d59f0['authentication']){_0x513ee5[_0xc2a2('0x1d')]=_0x2d59f0['user'];_0x513ee5[_0xc2a2('0x1e')]=_0x2d59f0['password'];}_0x513ee5['host']=_0x2d59f0[_0xc2a2('0x1f')];_0x513ee5[_0xc2a2('0x20')]=_0x2d59f0[_0xc2a2('0x20')]||0x3e1;if(_0x2d59f0[_0xc2a2('0x21')]){_0x513ee5[_0xc2a2('0x21')]=!![];}else{_0x513ee5['tls']=![];_0x513ee5[_0xc2a2('0x22')]='required';}}else{_0x513ee5[_0xc2a2('0x1d')]=_0x2d59f0['user'];_0x513ee5[_0xc2a2('0x1e')]=_0x2d59f0[_0xc2a2('0x1e')];_0x513ee5[_0xc2a2('0x1f')]=utils[_0xc2a2('0x23')](_0x2d59f0[_0xc2a2('0x1c')]);_0x513ee5[_0xc2a2('0x20')]=0x3e1;_0x513ee5[_0xc2a2('0x21')]=!![];}_0x513ee5['email']=_0xba9419||_0x2d59f0[_0xc2a2('0x1d')]||_0xc2a2('0x24');return _0x513ee5;};EmailImap[_0xc2a2('0x1a')][_0xc2a2('0x25')]=function(){this[_0xc2a2('0x10')][_0xc2a2('0x26')](this[_0xc2a2('0x27')],![],this[_0xc2a2('0x28')][_0xc2a2('0x13')](this));};EmailImap['prototype'][_0xc2a2('0x28')]=function(_0x210bc7,_0x23b950){if(_0x210bc7){this[_0xc2a2('0x17')](_0x210bc7,!![]);}else{this[_0xc2a2('0x29')](_0xc2a2('0x2a'),_0x23b950);this[_0xc2a2('0x2b')]();}};EmailImap[_0xc2a2('0x1a')][_0xc2a2('0x2c')]=function(_0x17db61){if(_0x17db61){this[_0xc2a2('0x17')](_0x17db61,!![]);}else{this[_0xc2a2('0x10')][_0xc2a2('0x14')]();}};EmailImap[_0xc2a2('0x1a')][_0xc2a2('0x2b')]=function(){this[_0xc2a2('0x10')][_0xc2a2('0x2d')](['UNSEEN'],this[_0xc2a2('0x2e')][_0xc2a2('0x13')](this));};EmailImap[_0xc2a2('0x1a')][_0xc2a2('0x2e')]=function(_0x871b91,_0x495b1c){if(_0x871b91){this[_0xc2a2('0x17')](_0x871b91,!![]);}else{if(_0x495b1c['length']){try{var _0x7ef31d=this['imap'][_0xc2a2('0x2f')](_0x495b1c,{'bodies':'','markSeen':!![]});_0x7ef31d['on'](_0xc2a2('0x30'),this[_0xc2a2('0x31')][_0xc2a2('0x13')](this));_0x7ef31d[_0xc2a2('0x11')](_0xc2a2('0x16'),this[_0xc2a2('0x32')]['bind'](this));_0x7ef31d[_0xc2a2('0x11')](_0xc2a2('0x14'),this[_0xc2a2('0x33')][_0xc2a2('0x13')](this));}catch(_0x10d087){logger[_0xc2a2('0x16')](_0x10d087);}}else{this[_0xc2a2('0x10')][_0xc2a2('0x34')](!![],this[_0xc2a2('0x2c')][_0xc2a2('0x13')](this));}}};EmailImap['prototype']['handleFetchMessage']=function(_0x472433,_0x109096){_0x472433['on'](_0xc2a2('0x35'),this[_0xc2a2('0x36')][_0xc2a2('0x13')](this));_0x472433[_0xc2a2('0x11')]('attributes',this[_0xc2a2('0x37')][_0xc2a2('0x13')](this));_0x472433[_0xc2a2('0x11')](_0xc2a2('0x14'),this['handleMessageEnd'][_0xc2a2('0x13')](this));};EmailImap['prototype'][_0xc2a2('0x36')]=function(_0x23805a,_0x44d3ab){simpleParser(_0x23805a,{'Iconv':Iconv},this[_0xc2a2('0x38')]['bind'](this));};EmailImap['prototype'][_0xc2a2('0x37')]=function(_0x25d327){};EmailImap['prototype']['handleMessageEnd']=function(){};EmailImap['prototype'][_0xc2a2('0x38')]=function(_0x468374,_0x5554b3){if(_0x468374){logger[_0xc2a2('0x16')](_0x468374);}else{var _0x25ca2c=this;utils[_0xc2a2('0x39')](this[_0xc2a2('0xe')],_0x5554b3,function(_0x305519){_0x25ca2c['emit'](_0xc2a2('0xc'),_0x305519);});}};EmailImap[_0xc2a2('0x1a')]['handleFetchEnd']=function(){this[_0xc2a2('0x10')]['closeBox'](!![],this['handleCloseBox'][_0xc2a2('0x13')](this));};EmailImap[_0xc2a2('0x1a')]['handleFetchError']=function(_0x1ae75c){this[_0xc2a2('0x17')](_0x1ae75c);this[_0xc2a2('0x10')][_0xc2a2('0x34')](!![],this['handleCloseBox'][_0xc2a2('0x13')](this));};EmailImap[_0xc2a2('0x1a')]['handleEnd']=function(){this[_0xc2a2('0x29')](_0xc2a2('0x14'));};EmailImap[_0xc2a2('0x1a')][_0xc2a2('0x17')]=function(_0x23e2e5,_0x2241b9){logger[_0xc2a2('0x16')]('handleError',this['account'][_0xc2a2('0xc')],JSON[_0xc2a2('0x3a')](_0x23e2e5));var _0x4088ac='';if(_0x23e2e5){if(_0x23e2e5['textCode']){_0x4088ac=_0x23e2e5['textCode'];}else{for(var _0x571033 in _0x23e2e5){if(_0x23e2e5['hasOwnProperty'](_0x571033)){_0x4088ac+=_[_0xc2a2('0x3b')](_0x571033)+':\x20'+_0x23e2e5[_0x571033]+'\x0a';}}}}if(_0x2241b9){this[_0xc2a2('0x10')][_0xc2a2('0x14')]();}else{this[_0xc2a2('0x29')](_0xc2a2('0x16'),_0x4088ac);this[_0xc2a2('0x29')](_0xc2a2('0x14'));}};module[_0xc2a2('0x3c')]=EmailImap;