Built motion from commit (unavailable).|2.3.1
[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 _0xeebf=['imap','lodash','randomstring','mailparser','events','EventEmitter','../../../config/logger','email','mailbox','account','getAccount','once','ready','end','handleError','bind','connect','prototype','connTimeout','authTimeout','isNil','authentication','user','password','host','port','tls','autotls','getHost','service','anonymous@xcally.com','handleReady','box','readUnseen','handleCloseBox','search','UNSEEN','handleReadUnseen','fetch','message','error','handleFetchError','handleFetchEnd','closeBox','handleFetchMessage','body','handleMessageAttributes','handleMessageEnd','handleSimpleParser','emit','handleEnd','stringify','textCode','upperFirst','util'];(function(_0x19c349,_0x4f19c6){var _0x508a7f=function(_0x2ac6b7){while(--_0x2ac6b7){_0x19c349['push'](_0x19c349['shift']());}};_0x508a7f(++_0x4f19c6);}(_0xeebf,0x112));var _0xfeeb=function(_0x4fdc01,_0x4101ea){_0x4fdc01=_0x4fdc01-0x0;var _0x5bb876=_0xeebf[_0x4fdc01];return _0x5bb876;};'use strict';var fs=require('fs');var path=require('path');var util=require(_0xfeeb('0x0'));var Imap=require(_0xfeeb('0x1'));var _=require(_0xfeeb('0x2'));var rs=require(_0xfeeb('0x3'));var simpleParser=require(_0xfeeb('0x4'))['simpleParser'];var EventEmitter=require(_0xfeeb('0x5'))[_0xfeeb('0x6')];var utils=require('./utils');var logger=require(_0xfeeb('0x7'))(_0xfeeb('0x8'));function EmailImap(_0x1857e9,_0x5b8e60){this[_0xfeeb('0x9')]='INBOX';this[_0xfeeb('0xa')]=this[_0xfeeb('0xb')](_0x1857e9,_0x5b8e60);this[_0xfeeb('0x1')]=new Imap(this[_0xfeeb('0xa')]);this['imap'][_0xfeeb('0xc')](_0xfeeb('0xd'),this['handleReady']['bind'](this));this['imap'][_0xfeeb('0xc')](_0xfeeb('0xe'),this['handleEnd']['bind'](this));this['imap']['on']('error',this[_0xfeeb('0xf')][_0xfeeb('0x10')](this));this[_0xfeeb('0x1')][_0xfeeb('0x11')]();}util['inherits'](EmailImap,EventEmitter);EmailImap[_0xfeeb('0x12')][_0xfeeb('0xb')]=function(_0x14ea4f,_0x332228){var _0x4dd851={'connTimeout':_0x14ea4f[_0xfeeb('0x13')]?_0x14ea4f[_0xfeeb('0x13')]*0x3e8:0x2710,'authTimeout':_0x14ea4f[_0xfeeb('0x14')]?_0x14ea4f[_0xfeeb('0x14')]*0x3e8:0x1388};if(_[_0xfeeb('0x15')](_0x14ea4f['service'])){if(_0x14ea4f[_0xfeeb('0x16')]){_0x4dd851['user']=_0x14ea4f[_0xfeeb('0x17')];_0x4dd851[_0xfeeb('0x18')]=_0x14ea4f[_0xfeeb('0x18')];}_0x4dd851[_0xfeeb('0x19')]=_0x14ea4f[_0xfeeb('0x19')];_0x4dd851[_0xfeeb('0x1a')]=_0x14ea4f[_0xfeeb('0x1a')]||0x3e1;if(_0x14ea4f[_0xfeeb('0x1b')]){_0x4dd851[_0xfeeb('0x1b')]=!![];}else{_0x4dd851[_0xfeeb('0x1b')]=![];_0x4dd851[_0xfeeb('0x1c')]='required';}}else{_0x4dd851[_0xfeeb('0x17')]=_0x14ea4f[_0xfeeb('0x17')];_0x4dd851[_0xfeeb('0x18')]=_0x14ea4f[_0xfeeb('0x18')];_0x4dd851[_0xfeeb('0x19')]=utils[_0xfeeb('0x1d')](_0x14ea4f[_0xfeeb('0x1e')]);_0x4dd851[_0xfeeb('0x1a')]=0x3e1;_0x4dd851['tls']=!![];}_0x4dd851[_0xfeeb('0x8')]=_0x332228||_0x14ea4f[_0xfeeb('0x17')]||_0xfeeb('0x1f');return _0x4dd851;};EmailImap[_0xfeeb('0x12')][_0xfeeb('0x20')]=function(){this[_0xfeeb('0x1')]['openBox'](this[_0xfeeb('0x9')],![],this['handleOpenBox'][_0xfeeb('0x10')](this));};EmailImap[_0xfeeb('0x12')]['handleOpenBox']=function(_0x3e216e,_0x2b74b5){if(_0x3e216e){this['handleError'](_0x3e216e,!![]);}else{this['emit'](_0xfeeb('0x21'),_0x2b74b5);this[_0xfeeb('0x22')]();}};EmailImap[_0xfeeb('0x12')][_0xfeeb('0x23')]=function(_0x4a2773){if(_0x4a2773){this[_0xfeeb('0xf')](_0x4a2773,!![]);}else{this[_0xfeeb('0x1')][_0xfeeb('0xe')]();}};EmailImap[_0xfeeb('0x12')][_0xfeeb('0x22')]=function(){this[_0xfeeb('0x1')][_0xfeeb('0x24')]([_0xfeeb('0x25')],this[_0xfeeb('0x26')][_0xfeeb('0x10')](this));};EmailImap[_0xfeeb('0x12')]['handleReadUnseen']=function(_0x21cec3,_0x4f1c3f){if(_0x21cec3){this[_0xfeeb('0xf')](_0x21cec3,!![]);}else{if(_0x4f1c3f['length']){try{var _0x14e3a7=this['imap'][_0xfeeb('0x27')](_0x4f1c3f,{'bodies':'','markSeen':!![]});_0x14e3a7['on'](_0xfeeb('0x28'),this['handleFetchMessage'][_0xfeeb('0x10')](this));_0x14e3a7[_0xfeeb('0xc')](_0xfeeb('0x29'),this[_0xfeeb('0x2a')][_0xfeeb('0x10')](this));_0x14e3a7[_0xfeeb('0xc')](_0xfeeb('0xe'),this[_0xfeeb('0x2b')][_0xfeeb('0x10')](this));}catch(_0x4c698f){logger['error'](_0x4c698f);}}else{this[_0xfeeb('0x1')][_0xfeeb('0x2c')](!![],this[_0xfeeb('0x23')][_0xfeeb('0x10')](this));}}};EmailImap[_0xfeeb('0x12')][_0xfeeb('0x2d')]=function(_0x4163da,_0x31d2d6){_0x4163da['on'](_0xfeeb('0x2e'),this['handleMessageBody'][_0xfeeb('0x10')](this));_0x4163da[_0xfeeb('0xc')]('attributes',this[_0xfeeb('0x2f')][_0xfeeb('0x10')](this));_0x4163da[_0xfeeb('0xc')](_0xfeeb('0xe'),this[_0xfeeb('0x30')]['bind'](this));};EmailImap[_0xfeeb('0x12')]['handleMessageBody']=function(_0x470029,_0x4bd42d){simpleParser(_0x470029,this['handleSimpleParser']['bind'](this));};EmailImap[_0xfeeb('0x12')]['handleMessageAttributes']=function(_0x2659ec){};EmailImap[_0xfeeb('0x12')]['handleMessageEnd']=function(){};EmailImap[_0xfeeb('0x12')][_0xfeeb('0x31')]=function(_0x1b9b60,_0x5d5180){if(_0x1b9b60){logger[_0xfeeb('0x29')](_0x1b9b60);}else{var _0x42abc2=this;utils['parser'](this['account'],_0x5d5180,function(_0xbbe0){_0x42abc2[_0xfeeb('0x32')](_0xfeeb('0x8'),_0xbbe0);});}};EmailImap['prototype'][_0xfeeb('0x2b')]=function(){this[_0xfeeb('0x1')]['closeBox'](!![],this['handleCloseBox']['bind'](this));};EmailImap[_0xfeeb('0x12')][_0xfeeb('0x2a')]=function(_0x592e62){this[_0xfeeb('0xf')](_0x592e62);this['imap'][_0xfeeb('0x2c')](!![],this[_0xfeeb('0x23')][_0xfeeb('0x10')](this));};EmailImap[_0xfeeb('0x12')][_0xfeeb('0x33')]=function(){this[_0xfeeb('0x32')](_0xfeeb('0xe'));};EmailImap[_0xfeeb('0x12')][_0xfeeb('0xf')]=function(_0x41efb0,_0x3458a2){logger[_0xfeeb('0x29')](_0xfeeb('0xf'),this[_0xfeeb('0xa')]['email'],JSON[_0xfeeb('0x34')](_0x41efb0));var _0x38fd89='';if(_0x41efb0){if(_0x41efb0[_0xfeeb('0x35')]){_0x38fd89=_0x41efb0[_0xfeeb('0x35')];}else{for(var _0x40f594 in _0x41efb0){if(_0x41efb0['hasOwnProperty'](_0x40f594)){_0x38fd89+=_[_0xfeeb('0x36')](_0x40f594)+':\x20'+_0x41efb0[_0x40f594]+'\x0a';}}}}if(_0x3458a2){this[_0xfeeb('0x1')]['end']();}else{this[_0xfeeb('0x32')](_0xfeeb('0x29'),_0x38fd89);this[_0xfeeb('0x32')]('end');}};module['exports']=EmailImap;