Built motion from commit (unavailable).|2.5.31
[motion2.git] / server / services / email / lib / utils.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 _0x3afb=['email','../../../config/environment','head','address','generate','@xcally.com','value','name','split','length','slice','join','Anonymous','pop','isEmpty','anonymous','html','test','replace','includes','forEach','push','filename','_SRC','_IMG','\x20]</span>','body','textAsHtml','<a\x20target=\x22_blank\x22\x20','message','originTo','originCc','bcc','attachments','attach','type','attachment','attachment-','now','server/files/attachments/','writeFileSync','content','contentType','parser','from','messageId','inReplyTo','date','format','YYYY-MM-DD\x20HH:mm:ss','filter','application/ms-tnef','info','Email\x20message\x20%s\x20is\x20in\x20TNEF\x20format:\x20message\x20content\x20will\x20be\x20converted\x20by\x20the\x20system','first','<p>Empty\x20message</p>','Attachments','Title','Data','getHost','gmail','imap.gmail.com','imap.mail.yahoo.com','hotmail','imap-mail.outlook.com','outlook365','outlook.office365.com','127.0.0.1','lodash','moment','randomstring','path','util','node-tnef','../../../config/logger'];(function(_0x7835af,_0xf2a569){var _0x32416a=function(_0x5249dd){while(--_0x5249dd){_0x7835af['push'](_0x7835af['shift']());}};_0x32416a(++_0xf2a569);}(_0x3afb,0xda));var _0xb3af=function(_0x2ab3d9,_0x50e716){_0x2ab3d9=_0x2ab3d9-0x0;var _0x210a54=_0x3afb[_0x2ab3d9];return _0x210a54;};'use strict';var _=require(_0xb3af('0x0'));var moment=require(_0xb3af('0x1'));var random=require(_0xb3af('0x2'));var fs=require('fs');var path=require(_0xb3af('0x3'));var util=require(_0xb3af('0x4'));var tnef=require(_0xb3af('0x5'));var logger=require(_0xb3af('0x6'))(_0xb3af('0x7'));var config=require(_0xb3af('0x8'));function getAddress(_0x3038ae){var _0x4bdc60=_[_0xb3af('0x9')](_0x3038ae['value']);return _0x4bdc60&&_0x4bdc60[_0xb3af('0xa')]?_0x4bdc60[_0xb3af('0xa')]:'anonymous'+random[_0xb3af('0xb')](0x6)+_0xb3af('0xc');}function getFirstName(_0x2e13cd){var _0x53f776=_[_0xb3af('0x9')](_0x2e13cd[_0xb3af('0xd')]);if(_0x53f776&&_0x53f776[_0xb3af('0xe')]){var _0x5e6a21=_0x53f776[_0xb3af('0xe')][_0xb3af('0xf')](/\s+/);return _0x5e6a21[_0xb3af('0x10')]?_0x5e6a21[_0xb3af('0x11')](0x0,-0x1)[_0xb3af('0x12')]('\x20'):_0x53f776[_0xb3af('0xe')];}return _0xb3af('0x13');}function getLastName(_0x29843c){var _0x349192=_[_0xb3af('0x9')](_0x29843c[_0xb3af('0xd')]);if(_0x349192&&_0x349192[_0xb3af('0xe')]){var _0x199548=_0x349192['name'][_0xb3af('0xf')](/\s+/);return _0x199548[_0xb3af('0x10')]>0x1?_0x199548[_0xb3af('0x14')]():'';}return'';}function getMails(_0x4e685d,_0x3a67d5){var _0x17b8e4='';for(var _0x1c0c3a=0x0;_0x1c0c3a<_0x3a67d5[_0xb3af('0xd')][_0xb3af('0x10')];_0x1c0c3a+=0x1){if(_0x3a67d5[_0xb3af('0xd')][_0x1c0c3a][_0xb3af('0xa')]!==_0x4e685d){if(!_[_0xb3af('0x15')](_0x17b8e4)){_0x17b8e4+=',';}_0x17b8e4+=_0x3a67d5[_0xb3af('0xd')][_0x1c0c3a]['name']||_0x3a67d5[_0xb3af('0xd')][_0x1c0c3a][_0xb3af('0xa')]||'';_0x17b8e4+='\x20<';_0x17b8e4+=_0x3a67d5[_0xb3af('0xd')][_0x1c0c3a][_0xb3af('0xa')]?_0x3a67d5[_0xb3af('0xd')][_0x1c0c3a][_0xb3af('0xa')]:_0xb3af('0x16')+random[_0xb3af('0xb')](0x6)+_0xb3af('0xc');_0x17b8e4+='>';}}return _0x17b8e4;}function parseEmail(_0x201a7d,_0x121ce7,_0x573a38){if(_0x121ce7[_0xb3af('0x17')]){var _0x464507=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi;while(_0x464507[_0xb3af('0x18')](_0x121ce7[_0xb3af('0x17')])){_0x121ce7[_0xb3af('0x17')]=_0x121ce7['html'][_0xb3af('0x19')](_0x464507,'');}if(_0x121ce7['html'][_0xb3af('0x1a')]('<img')){var _0x5786d7=[];_0x121ce7['attachments'][_0xb3af('0x1b')](_0x2d9e33=>{_0x5786d7[_0xb3af('0x1c')](_0x2d9e33[_0xb3af('0x1d')]);});var _0x12800b=/<img.*? _SRC(.*?)[^\>]+>/g;var _0x553dd0=/src=\"data:image\/([a-zA-Z]*);base64,([^\"]*)\"/g;var _0x90e742=_0x121ce7[_0xb3af('0x17')][_0xb3af('0x19')](_0x553dd0,_0xb3af('0x1e'));var _0x2ce79f=_0x90e742[_0xb3af('0x19')](_0x12800b,_0xb3af('0x1f'));for(let _0x2ff155=0x0;_0x2ff155<_0x5786d7[_0xb3af('0x10')];_0x2ff155++){var _0x286e4d=_0x2ce79f[_0xb3af('0x19')]('_IMG','<span\x20style=font-weight:bold>\x20[Attachment:\x20'+_0x5786d7[_0x2ff155]+_0xb3af('0x20'));_0x2ce79f=_0x286e4d;}_0x121ce7[_0xb3af('0x17')]=_0x2ce79f;}_0x573a38[_0xb3af('0x21')]=_0x121ce7['html'];}else{_0x573a38[_0xb3af('0x21')]=_0x121ce7[_0xb3af('0x22')];}if(_0x573a38[_0xb3af('0x21')]){_0x573a38['body']=_0x573a38[_0xb3af('0x21')][_0xb3af('0x19')](/<a\s+/gi,_0xb3af('0x23'));}if(_0x121ce7['to']){_0x573a38[_0xb3af('0x24')][_0xb3af('0x25')]=getMails(null,_0x121ce7['to']);var _0x41d405=getMails(_0x201a7d[_0xb3af('0x7')],_0x121ce7['to']);if(!_[_0xb3af('0x15')](_0x41d405)){_0x573a38[_0xb3af('0x24')]['cc']+=_0x41d405;}}if(_0x121ce7['cc']){_0x573a38[_0xb3af('0x24')][_0xb3af('0x26')]=getMails(null,_0x121ce7['cc']);var _0x384e66=getMails(_0x201a7d[_0xb3af('0x7')],_0x121ce7['cc']);if(!_['isEmpty'](_0x384e66)){if(!_[_0xb3af('0x15')](_0x573a38[_0xb3af('0x24')]['cc'])){_0x573a38['message']['cc']+=',';}_0x573a38[_0xb3af('0x24')]['cc']+=_0x384e66;}}if(!_[_0xb3af('0x1a')](_0x573a38[_0xb3af('0x24')][_0xb3af('0x25')],_0x201a7d['email'])&&!_['includes'](_0x573a38[_0xb3af('0x24')][_0xb3af('0x26')],_0x201a7d[_0xb3af('0x7')])){_0x573a38['message'][_0xb3af('0x27')]=_0x201a7d[_0xb3af('0x7')];}if(_0x121ce7[_0xb3af('0x28')]&&_0x121ce7[_0xb3af('0x28')][_0xb3af('0x10')]){_0x573a38[_0xb3af('0x24')][_0xb3af('0x29')]=_0x121ce7[_0xb3af('0x28')][_0xb3af('0x10')];for(var _0x92dc2c=0x0,_0xf68353,_0x2aaf24,_0x4b1cdf;_0x92dc2c<_0x121ce7[_0xb3af('0x28')][_0xb3af('0x10')];_0x92dc2c+=0x1){if(_0x121ce7[_0xb3af('0x28')][_0x92dc2c][_0xb3af('0x2a')]===_0xb3af('0x2b')){_0x4b1cdf=_0x121ce7[_0xb3af('0x28')][_0x92dc2c]['filename']||_0xb3af('0x2c')+_0x92dc2c;_0xf68353=util['format']('%s-%s',Date[_0xb3af('0x2d')](),_0x4b1cdf);_0x2aaf24=path[_0xb3af('0x12')](config['root'],_0xb3af('0x2e'),_0xf68353);fs[_0xb3af('0x2f')](_0x2aaf24,_0x121ce7[_0xb3af('0x28')][_0x92dc2c][_0xb3af('0x30')]);_0x573a38[_0xb3af('0x24')][_0xb3af('0x28')][_0xb3af('0x1c')]({'name':_0x4b1cdf,'basename':_0xf68353,'type':_0x121ce7[_0xb3af('0x28')][_0x92dc2c][_0xb3af('0x31')],'filepath':_0x2aaf24});}}}return _0x573a38;}exports[_0xb3af('0x32')]=function(_0x24d8e3,_0x180ceb,_0xa2e8f0){var _0x3ba6ec={'from':getAddress(_0x180ceb[_0xb3af('0x33')]),'firstName':getFirstName(_0x180ceb[_0xb3af('0x33')]),'lastName':getLastName(_0x180ceb[_0xb3af('0x33')]),'mapKey':_0xb3af('0x7'),'message':{'from':getMails(_0x24d8e3[_0xb3af('0x7')],_0x180ceb[_0xb3af('0x33')]),'to':_0x24d8e3[_0xb3af('0x7')],'cc':'','subject':_0x180ceb['subject']||'','messageId':_0x180ceb[_0xb3af('0x34')],'inReplyTo':_0x180ceb[_0xb3af('0x35')],'sentAt':moment(_0x180ceb[_0xb3af('0x36')])[_0xb3af('0x37')](_0xb3af('0x38')),'attach':![],'attachments':[]}};if(!_0x180ceb[_0xb3af('0x17')]&&!_0x180ceb[_0xb3af('0x22')]){var _0x31b8e4=_[_0xb3af('0x39')](_0x180ceb[_0xb3af('0x28')],{'contentType':_0xb3af('0x3a')});if(_0x31b8e4[_0xb3af('0x10')]){logger[_0xb3af('0x3b')](util[_0xb3af('0x37')](_0xb3af('0x3c'),_0x180ceb['messageId']));tnef['parseBuffer'](_[_0xb3af('0x3d')](_0x31b8e4)[_0xb3af('0x30')],function(_0x2cd982,_0xbbd792){if(_0xbbd792){_0x180ceb['html']=_0xbbd792['BodyHTML']||_0xb3af('0x3e');if(_0xbbd792[_0xb3af('0x3f')]){for(var _0x395a0f=0x0;_0x395a0f<_0xbbd792[_0xb3af('0x3f')][_0xb3af('0x10')];_0x395a0f++){var _0x1b4dbb=_0xbbd792[_0xb3af('0x3f')][_0x395a0f];_0x3ba6ec['message'][_0xb3af('0x28')][_0xb3af('0x1c')]({'filename':_0x1b4dbb[_0xb3af('0x40')],'content':new Buffer(_0x1b4dbb[_0xb3af('0x41')])});}}}_0xa2e8f0(parseEmail(_0x24d8e3,_0x180ceb,_0x3ba6ec));});}else{_0x180ceb[_0xb3af('0x17')]=_0xb3af('0x3e');_0xa2e8f0(parseEmail(_0x24d8e3,_0x180ceb,_0x3ba6ec));}}else{_0xa2e8f0(parseEmail(_0x24d8e3,_0x180ceb,_0x3ba6ec));}};exports[_0xb3af('0x42')]=function(_0xc990ad){switch(_0xc990ad){case _0xb3af('0x43'):return _0xb3af('0x44');case'yahoo':return _0xb3af('0x45');case _0xb3af('0x46'):return _0xb3af('0x47');case _0xb3af('0x48'):return _0xb3af('0x49');}return _0xb3af('0x4a');};