Built motion from commit 3c2ce842.|2.6.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 _0x563e=['once','handleFetchError','handleFetchEnd','closeBox','body','handleMessageBody','attributes','handleMessageAttributes','handleMessageEnd','handleSimpleParser','parser','stringify','textCode','hasOwnProperty','upperFirst','lodash','util','imap','mailparser','simpleParser','Iconv','events','../../../config/logger','email','mailbox','account','getAccount','handleReady','end','handleEnd','error','handleError','bind','inherits','prototype','connTimeout','service','user','modernAuthentication','xoauth2','generateXOAuth2Token','CloudProvider','data5','password','authentication','anonymous@xcally.com','host','port','tls','autotls','required','openBox','handleOpenBox','emit','box','readUnseen','handleCloseBox','search','UNSEEN','handleReadUnseen','length','fetch','message','handleFetchMessage'];(function(_0x367ad0,_0x4b5d29){var _0x4e6f1e=function(_0x3197ef){while(--_0x3197ef){_0x367ad0['push'](_0x367ad0['shift']());}};_0x4e6f1e(++_0x4b5d29);}(_0x563e,0x1cf));var _0xe563=function(_0x1d75f7,_0x139d5e){_0x1d75f7=_0x1d75f7-0x0;var _0x307f9a=_0x563e[_0x1d75f7];return _0x307f9a;};'use strict';var _=require(_0xe563('0x0'));var util=require(_0xe563('0x1'));var Imap=require(_0xe563('0x2'));var simpleParser=require(_0xe563('0x3'))[_0xe563('0x4')];var Iconv=require('iconv')[_0xe563('0x5')];var EventEmitter=require(_0xe563('0x6'))['EventEmitter'];var utils=require('./utils');var logger=require(_0xe563('0x7'))(_0xe563('0x8'));function EmailImap(_0x4879af,_0x4bcade){this['mailbox']=_0x4879af[_0xe563('0x9')];this[_0xe563('0xa')]=this[_0xe563('0xb')](_0x4879af,_0x4bcade);this[_0xe563('0x2')]=new Imap(this['account']);this[_0xe563('0x2')]['once']('ready',this[_0xe563('0xc')]['bind'](this));this[_0xe563('0x2')]['once'](_0xe563('0xd'),this[_0xe563('0xe')]['bind'](this));this[_0xe563('0x2')]['on'](_0xe563('0xf'),this[_0xe563('0x10')][_0xe563('0x11')](this));this[_0xe563('0x2')]['connect']();}util[_0xe563('0x12')](EmailImap,EventEmitter);EmailImap[_0xe563('0x13')][_0xe563('0xb')]=function(_0x44b0d8,_0x5ab414){var _0x1b5c93={'connTimeout':_0x44b0d8[_0xe563('0x14')]?_0x44b0d8[_0xe563('0x14')]*0x3e8:0x2710,'authTimeout':_0x44b0d8['authTimeout']?_0x44b0d8['authTimeout']*0x3e8:0x1388};if(_0x44b0d8[_0xe563('0x15')]){_0x1b5c93[_0xe563('0x16')]=_0x44b0d8[_0xe563('0x16')];if(_0x44b0d8[_0xe563('0x17')]){_0x1b5c93[_0xe563('0x18')]=utils[_0xe563('0x19')](_0x44b0d8[_0xe563('0x1a')][_0xe563('0x1b')],_0x44b0d8[_0xe563('0x16')]);}else{_0x1b5c93[_0xe563('0x1c')]=_0x44b0d8[_0xe563('0x1c')];}}else{if(_0x44b0d8[_0xe563('0x1d')]){_0x1b5c93[_0xe563('0x16')]=_0x44b0d8['user'];_0x1b5c93[_0xe563('0x1c')]=_0x44b0d8[_0xe563('0x1c')];}}_0x1b5c93[_0xe563('0x8')]=_0x5ab414||_0x44b0d8[_0xe563('0x16')]||_0xe563('0x1e');_0x1b5c93[_0xe563('0x1f')]=_0x44b0d8[_0xe563('0x1f')];_0x1b5c93[_0xe563('0x20')]=_0x44b0d8[_0xe563('0x20')]||0x3e1;if(_0x44b0d8[_0xe563('0x21')]){_0x1b5c93[_0xe563('0x21')]=!![];}else{_0x1b5c93[_0xe563('0x21')]=![];_0x1b5c93[_0xe563('0x22')]=_0xe563('0x23');}return _0x1b5c93;};EmailImap[_0xe563('0x13')][_0xe563('0xc')]=function(){this[_0xe563('0x2')][_0xe563('0x24')](this[_0xe563('0x9')],![],this[_0xe563('0x25')][_0xe563('0x11')](this));};EmailImap[_0xe563('0x13')][_0xe563('0x25')]=function(_0x546b30,_0x32f616){if(_0x546b30){this[_0xe563('0x10')](_0x546b30,!![]);}else{this[_0xe563('0x26')](_0xe563('0x27'),_0x32f616);this[_0xe563('0x28')]();}};EmailImap[_0xe563('0x13')][_0xe563('0x29')]=function(_0x5a7bbf){if(_0x5a7bbf){this['handleError'](_0x5a7bbf,!![]);}else{this['imap'][_0xe563('0xd')]();}};EmailImap[_0xe563('0x13')]['readUnseen']=function(){this[_0xe563('0x2')][_0xe563('0x2a')]([_0xe563('0x2b')],this[_0xe563('0x2c')]['bind'](this));};EmailImap[_0xe563('0x13')][_0xe563('0x2c')]=function(_0xc8d399,_0x3cf9a3){if(_0xc8d399){this[_0xe563('0x10')](_0xc8d399,!![]);}else{if(_0x3cf9a3[_0xe563('0x2d')]){try{var _0x25d47d=this[_0xe563('0x2')][_0xe563('0x2e')](_0x3cf9a3['slice'](0x0,0xa),{'bodies':'','markSeen':!![]});_0x25d47d['on'](_0xe563('0x2f'),this[_0xe563('0x30')][_0xe563('0x11')](this));_0x25d47d[_0xe563('0x31')](_0xe563('0xf'),this[_0xe563('0x32')][_0xe563('0x11')](this));_0x25d47d['once'](_0xe563('0xd'),this[_0xe563('0x33')]['bind'](this));}catch(_0x46ca10){logger[_0xe563('0xf')](_0x46ca10);}}else{this['imap'][_0xe563('0x34')](!![],this['handleCloseBox']['bind'](this));}}};EmailImap['prototype']['handleFetchMessage']=function(_0xf17309){_0xf17309['on'](_0xe563('0x35'),this[_0xe563('0x36')][_0xe563('0x11')](this));_0xf17309[_0xe563('0x31')](_0xe563('0x37'),this[_0xe563('0x38')]['bind'](this));_0xf17309[_0xe563('0x31')](_0xe563('0xd'),this[_0xe563('0x39')]['bind'](this));};EmailImap['prototype']['handleMessageBody']=function(_0x3b259f){simpleParser(_0x3b259f,{'Iconv':Iconv},this['handleSimpleParser'][_0xe563('0x11')](this));};EmailImap[_0xe563('0x13')][_0xe563('0x38')]=function(){};EmailImap['prototype'][_0xe563('0x39')]=function(){};EmailImap[_0xe563('0x13')][_0xe563('0x3a')]=function(_0x4089ff,_0x10ffac){if(_0x4089ff){logger[_0xe563('0xf')](_0x4089ff);}else{var _0x19dc36=this;utils[_0xe563('0x3b')](this[_0xe563('0xa')],_0x10ffac,function(_0x23134a){_0x19dc36[_0xe563('0x26')]('email',_0x23134a);});}};EmailImap[_0xe563('0x13')][_0xe563('0x33')]=function(){this[_0xe563('0x2')]['closeBox'](!![],this[_0xe563('0x29')][_0xe563('0x11')](this));};EmailImap[_0xe563('0x13')][_0xe563('0x32')]=function(_0x53af95){this[_0xe563('0x10')](_0x53af95);this[_0xe563('0x2')][_0xe563('0x34')](!![],this['handleCloseBox']['bind'](this));};EmailImap[_0xe563('0x13')][_0xe563('0xe')]=function(){this[_0xe563('0x26')](_0xe563('0xd'));};EmailImap[_0xe563('0x13')][_0xe563('0x10')]=function(_0x3d5b8a,_0x27e90f){logger[_0xe563('0xf')](_0xe563('0x10'),this[_0xe563('0xa')][_0xe563('0x8')],JSON[_0xe563('0x3c')](_0x3d5b8a));var _0x1591e6='';if(_0x3d5b8a){if(_0x3d5b8a[_0xe563('0x3d')]){_0x1591e6=_0x3d5b8a[_0xe563('0x3d')];}else{for(var _0x5dd875 in _0x3d5b8a){if(_0x3d5b8a[_0xe563('0x3e')](_0x5dd875)){_0x1591e6+=_[_0xe563('0x3f')](_0x5dd875)+':\x20'+_0x3d5b8a[_0x5dd875]+'\x0a';}}}}if(_0x27e90f){this[_0xe563('0x2')][_0xe563('0xd')]();}else{this[_0xe563('0x26')](_0xe563('0xf'),_0x1591e6);this[_0xe563('0x26')]('end');}};module['exports']=EmailImap;