Built motion from commit (unavailable).|2.5.1
[motion2.git] / server / services / email / lib / email.js
index e984ccc..a8eda38 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x14b5=['refresh','hasOwnProperty','box','handleImapBox','bind','error','isNil','disabled','messageStatus','connected','messages','New\x20email\x20from\x20%s\x20%s\x20%s\x20to\x20%s','firstName','from','notify','then','Mail\x20accepted\x20from\x20routing','Mail\x20not\x20accepted\x20from\x20routing\x20%s','stringify','lastSync','send','verifySmtp','Smtp','catch','verify','exports','lodash','moment','bluebird','ioredis','../../../config/environment','../../../config/logger','email','redis','defaults','localhost','./imap','./smtp','../rpc/mailAccount','info','start\x20email\x20channel','mailAccounts','imapAccounts','smtp','prototype','emit','name','key','active','Imap','status','total','md5'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x14b5,0x158));var _0x514b=function(_0x2d863b,_0x15df5d){_0x2d863b=_0x2d863b-0x0;var _0x42fc23=_0x14b5[_0x2d863b];return _0x42fc23;};'use strict';var _=require(_0x514b('0x0'));var moment=require(_0x514b('0x1'));var BPromise=require(_0x514b('0x2'));var md5=require('md5');var Redis=require(_0x514b('0x3'));var config=require(_0x514b('0x4'));var logger=require(_0x514b('0x5'))(_0x514b('0x6'));config[_0x514b('0x7')]=_[_0x514b('0x8')](config[_0x514b('0x7')],{'host':_0x514b('0x9'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x514b('0x7')]));var EmailImap=require(_0x514b('0xa'));var EmailSmtp=require(_0x514b('0xb'));var mailAccount=require(_0x514b('0xc'));var md5Accounts={};function EmailChannel(_0x4f890f){logger[_0x514b('0xd')](_0x514b('0xe'));this[_0x514b('0xf')]=_0x4f890f['mailAccounts'];this[_0x514b('0x10')]={};this[_0x514b('0x11')]=new EmailSmtp();}EmailChannel[_0x514b('0x12')][_0x514b('0x13')]=function(_0x23e581){var _0x2b3d73=this[_0x514b('0xf')][_0x23e581];var _0x52340c={'id':_0x2b3d73['id'],'name':_0x2b3d73[_0x514b('0x14')],'key':_0x2b3d73[_0x514b('0x15')],'active':_0x2b3d73[_0x514b('0x16')],'Imap':{'status':_0x2b3d73[_0x514b('0x17')][_0x514b('0x18')],'messageStatus':_0x2b3d73[_0x514b('0x17')]['messageStatus'],'total':_0x2b3d73['Imap'][_0x514b('0x19')]}};if(_['isNil'](md5Accounts[_0x23e581])){md5Accounts[_0x23e581]={};}var _0x24672b=md5(JSON['stringify'](_0x52340c));if(md5Accounts[_0x23e581][_0x514b('0x1a')]!==_0x24672b){md5Accounts[_0x23e581][_0x514b('0x1a')]=_0x24672b;io[_0x514b('0x13')]('mailAccount:update',_0x52340c);}};EmailChannel['prototype'][_0x514b('0x1b')]=function(_0x31da86){for(var _0x26aa3a in _0x31da86){if(_0x31da86[_0x514b('0x1c')](_0x26aa3a)){if(_0x31da86[_0x26aa3a]['Imap']&&_0x31da86[_0x26aa3a][_0x514b('0x16')]){var _0x1bf1ea=_0x31da86[_0x26aa3a]['Imap'];if(!this[_0x514b('0x10')][_0x514b('0x1c')](_0x1bf1ea['id'])){this[_0x514b('0x10')][_0x1bf1ea['id']]=new EmailImap(_0x1bf1ea,_0x31da86[_0x26aa3a]['email']);this[_0x514b('0x10')][_0x1bf1ea['id']]['on'](_0x514b('0x1d'),this[_0x514b('0x1e')][_0x514b('0x1f')](this,_0x26aa3a));this['imapAccounts'][_0x1bf1ea['id']]['on'](_0x514b('0x6'),this['handleImapEmail'][_0x514b('0x1f')](this,_0x26aa3a));this['imapAccounts'][_0x1bf1ea['id']]['on']('end',this['handleImapEnd'][_0x514b('0x1f')](this,_0x26aa3a));this[_0x514b('0x10')][_0x1bf1ea['id']]['on'](_0x514b('0x20'),this['handleImapError'][_0x514b('0x1f')](this,_0x26aa3a));}}else{if(_[_0x514b('0x21')](this[_0x514b('0xf')][_0x26aa3a][_0x514b('0x17')])){this[_0x514b('0xf')][_0x26aa3a][_0x514b('0x17')]={};}this[_0x514b('0xf')][_0x26aa3a][_0x514b('0x17')][_0x514b('0x18')]=_0x514b('0x22');this[_0x514b('0xf')][_0x26aa3a]['Imap'][_0x514b('0x23')]='';this[_0x514b('0x13')](_0x26aa3a);}}}};EmailChannel[_0x514b('0x12')]['handleImapBox']=function(_0x4999d1,_0x18e7b3){if(this[_0x514b('0xf')][_0x4999d1]){this['mailAccounts'][_0x4999d1][_0x514b('0x17')][_0x514b('0x18')]=_0x514b('0x24');this[_0x514b('0xf')][_0x4999d1][_0x514b('0x17')]['messageStatus']=_0x18e7b3[_0x514b('0x14')];if(_0x18e7b3[_0x514b('0x25')]){this['mailAccounts'][_0x4999d1][_0x514b('0x17')][_0x514b('0x19')]=_0x18e7b3[_0x514b('0x25')]['total'];}return this['emit'](_0x4999d1);}};EmailChannel['prototype']['handleImapEmail']=function(_0x40e614,_0x30ecae){logger[_0x514b('0xd')](_0x514b('0x26'),_0x30ecae[_0x514b('0x27')],_0x30ecae['lastName'],_0x30ecae[_0x514b('0x28')],_0x40e614);if(this[_0x514b('0xf')][_0x40e614]){return mailAccount[_0x514b('0x29')](_0x40e614,_0x30ecae)[_0x514b('0x2a')](function(_0x4a0c5b){if(_0x4a0c5b){logger[_0x514b('0xd')](_0x514b('0x2b'));}})['catch'](function(_0x20abf5){logger[_0x514b('0x20')](_0x514b('0x2c'),JSON[_0x514b('0x2d')](_0x20abf5));});}};EmailChannel[_0x514b('0x12')]['handleImapEnd']=function(_0x488aa1){if(this[_0x514b('0xf')][_0x488aa1]&&this[_0x514b('0xf')][_0x488aa1][_0x514b('0x17')]){if(this[_0x514b('0x10')][this[_0x514b('0xf')][_0x488aa1][_0x514b('0x17')]['id']]){delete this['imapAccounts'][this[_0x514b('0xf')][_0x488aa1][_0x514b('0x17')]['id']];}this[_0x514b('0xf')][_0x488aa1][_0x514b('0x17')][_0x514b('0x2e')]=moment();this[_0x514b('0x13')](_0x488aa1);}};EmailChannel['prototype']['handleImapError']=function(_0x91bc3a,_0x492bf7){if(this[_0x514b('0xf')][_0x91bc3a]){this['mailAccounts'][_0x91bc3a][_0x514b('0x17')][_0x514b('0x18')]='error';this[_0x514b('0xf')][_0x91bc3a]['Imap'][_0x514b('0x23')]=_0x492bf7;return this[_0x514b('0x13')](_0x91bc3a);}};EmailChannel[_0x514b('0x12')]['sendMail']=function(_0x120dd8,_0x47819a){return this[_0x514b('0x11')][_0x514b('0x2f')](_0x120dd8,_0x47819a);};EmailChannel['prototype'][_0x514b('0x30')]=function(_0x3d4a55){var _0x145f91=this;if(this[_0x514b('0xf')][_0x3d4a55['id']]){if(_[_0x514b('0x21')](this[_0x514b('0xf')][_0x3d4a55['id']][_0x514b('0x31')])){this[_0x514b('0xf')][_0x3d4a55['id']][_0x514b('0x31')]={};}this[_0x514b('0xf')][_0x3d4a55['id']][_0x514b('0x31')][_0x514b('0x2e')]=moment();return new BPromise(function(_0x2585ec,_0xb981ed){return _0x145f91[_0x514b('0x11')]['verify'](_0x3d4a55)['then'](function(_0x470396){_0x145f91['mailAccounts'][_0x3d4a55['id']][_0x514b('0x31')][_0x514b('0x18')]='verified';_0x145f91[_0x514b('0xf')][_0x3d4a55['id']]['Smtp']['messageStatus']='';_0x145f91['emit'](_0x3d4a55['id']);_0x2585ec(_0x470396);})[_0x514b('0x32')](function(_0x5bde5b){_0x145f91[_0x514b('0xf')][_0x3d4a55['id']][_0x514b('0x31')]['status']=_0x514b('0x20');_0x145f91[_0x514b('0xf')][_0x3d4a55['id']][_0x514b('0x31')][_0x514b('0x23')]=_0x5bde5b;_0x145f91[_0x514b('0x13')](_0x3d4a55['id']);_0xb981ed(_0x5bde5b);});});}return this[_0x514b('0x11')][_0x514b('0x33')](_0x3d4a55);};module[_0x514b('0x34')]=EmailChannel;
\ No newline at end of file
+var _0x309e=['stringify','mailAccount:update','refresh','hasOwnProperty','active','imapAccounts','handleImapBox','bind','end','handleImapEnd','error','handleImapError','disabled','messageStatus','connected','messages','total','handleImapEmail','firstName','lastName','from','then','Mail\x20accepted\x20from\x20routing','catch','Mail\x20not\x20accepted\x20from\x20routing\x20%s','lastSync','sendMail','smtp','send','verifySmtp','Smtp','verify','verified','exports','lodash','moment','md5','ioredis','../../../config/environment','../../../config/logger','email','redis','socket.io-emitter','./smtp','info','mailAccounts','prototype','emit','name','key','Imap','status','isNil'];(function(_0x5bc27a,_0x32e2d1){var _0x2c8a4d=function(_0x1a7dd9){while(--_0x1a7dd9){_0x5bc27a['push'](_0x5bc27a['shift']());}};_0x2c8a4d(++_0x32e2d1);}(_0x309e,0x8c));var _0xe309=function(_0x18ab2a,_0x4debcd){_0x18ab2a=_0x18ab2a-0x0;var _0x16dcee=_0x309e[_0x18ab2a];return _0x16dcee;};'use strict';var _=require(_0xe309('0x0'));var moment=require(_0xe309('0x1'));var BPromise=require('bluebird');var md5=require(_0xe309('0x2'));var Redis=require(_0xe309('0x3'));var config=require(_0xe309('0x4'));var logger=require(_0xe309('0x5'))(_0xe309('0x6'));config[_0xe309('0x7')]=_['defaults'](config[_0xe309('0x7')],{'host':'localhost','port':0x18eb});var io=require(_0xe309('0x8'))(new Redis(config[_0xe309('0x7')]));var EmailImap=require('./imap');var EmailSmtp=require(_0xe309('0x9'));var mailAccount=require('../rpc/mailAccount');var md5Accounts={};function EmailChannel(_0x1e3c2f){logger[_0xe309('0xa')]('start\x20email\x20channel');this[_0xe309('0xb')]=_0x1e3c2f[_0xe309('0xb')];this['imapAccounts']={};this['smtp']=new EmailSmtp();}EmailChannel[_0xe309('0xc')][_0xe309('0xd')]=function(_0x3d0fa3){var _0x3960b3=this[_0xe309('0xb')][_0x3d0fa3];var _0x152296={'id':_0x3960b3['id'],'name':_0x3960b3[_0xe309('0xe')],'key':_0x3960b3[_0xe309('0xf')],'active':_0x3960b3['active'],'Imap':{'status':_0x3960b3[_0xe309('0x10')][_0xe309('0x11')],'messageStatus':_0x3960b3[_0xe309('0x10')]['messageStatus'],'total':_0x3960b3[_0xe309('0x10')]['total']}};if(_[_0xe309('0x12')](md5Accounts[_0x3d0fa3])){md5Accounts[_0x3d0fa3]={};}var _0xf61ce7=md5(JSON[_0xe309('0x13')](_0x152296));if(md5Accounts[_0x3d0fa3][_0xe309('0x2')]!==_0xf61ce7){md5Accounts[_0x3d0fa3][_0xe309('0x2')]=_0xf61ce7;io[_0xe309('0xd')](_0xe309('0x14'),_0x152296);}};EmailChannel[_0xe309('0xc')][_0xe309('0x15')]=function(_0x496b2e){for(var _0x36077c in _0x496b2e){if(_0x496b2e[_0xe309('0x16')](_0x36077c)){if(_0x496b2e[_0x36077c][_0xe309('0x10')]&&_0x496b2e[_0x36077c][_0xe309('0x17')]){var _0x60c9a4=_0x496b2e[_0x36077c][_0xe309('0x10')];if(!this[_0xe309('0x18')]['hasOwnProperty'](_0x60c9a4['id'])){this[_0xe309('0x18')][_0x60c9a4['id']]=new EmailImap(_0x60c9a4,_0x496b2e[_0x36077c]['email']);this[_0xe309('0x18')][_0x60c9a4['id']]['on']('box',this[_0xe309('0x19')][_0xe309('0x1a')](this,_0x36077c));this['imapAccounts'][_0x60c9a4['id']]['on'](_0xe309('0x6'),this['handleImapEmail']['bind'](this,_0x36077c));this[_0xe309('0x18')][_0x60c9a4['id']]['on'](_0xe309('0x1b'),this[_0xe309('0x1c')][_0xe309('0x1a')](this,_0x36077c));this[_0xe309('0x18')][_0x60c9a4['id']]['on'](_0xe309('0x1d'),this[_0xe309('0x1e')]['bind'](this,_0x36077c));}}else{if(_[_0xe309('0x12')](this['mailAccounts'][_0x36077c][_0xe309('0x10')])){this[_0xe309('0xb')][_0x36077c]['Imap']={};}this['mailAccounts'][_0x36077c][_0xe309('0x10')][_0xe309('0x11')]=_0xe309('0x1f');this['mailAccounts'][_0x36077c][_0xe309('0x10')][_0xe309('0x20')]='';this[_0xe309('0xd')](_0x36077c);}}}};EmailChannel[_0xe309('0xc')]['handleImapBox']=function(_0x3ba77b,_0x203a26){if(this['mailAccounts'][_0x3ba77b]){this['mailAccounts'][_0x3ba77b][_0xe309('0x10')][_0xe309('0x11')]=_0xe309('0x21');this[_0xe309('0xb')][_0x3ba77b][_0xe309('0x10')][_0xe309('0x20')]=_0x203a26['name'];if(_0x203a26[_0xe309('0x22')]){this[_0xe309('0xb')][_0x3ba77b][_0xe309('0x10')][_0xe309('0x23')]=_0x203a26[_0xe309('0x22')][_0xe309('0x23')];}return this[_0xe309('0xd')](_0x3ba77b);}};EmailChannel[_0xe309('0xc')][_0xe309('0x24')]=function(_0x55abcf,_0x48d637){logger[_0xe309('0xa')]('New\x20email\x20from\x20%s\x20%s\x20%s\x20to\x20%s',_0x48d637[_0xe309('0x25')],_0x48d637[_0xe309('0x26')],_0x48d637[_0xe309('0x27')],_0x55abcf);if(this[_0xe309('0xb')][_0x55abcf]){return mailAccount['notify'](_0x55abcf,_0x48d637)[_0xe309('0x28')](function(_0xe85e00){if(_0xe85e00){logger[_0xe309('0xa')](_0xe309('0x29'));}})[_0xe309('0x2a')](function(_0x47d046){logger[_0xe309('0x1d')](_0xe309('0x2b'),JSON['stringify'](_0x47d046));});}};EmailChannel[_0xe309('0xc')]['handleImapEnd']=function(_0x5383cc){if(this['mailAccounts'][_0x5383cc]&&this[_0xe309('0xb')][_0x5383cc][_0xe309('0x10')]){if(this[_0xe309('0x18')][this['mailAccounts'][_0x5383cc][_0xe309('0x10')]['id']]){delete this[_0xe309('0x18')][this['mailAccounts'][_0x5383cc]['Imap']['id']];}this[_0xe309('0xb')][_0x5383cc][_0xe309('0x10')][_0xe309('0x2c')]=moment();this['emit'](_0x5383cc);}};EmailChannel[_0xe309('0xc')][_0xe309('0x1e')]=function(_0x47b34e,_0x102ba3){if(this[_0xe309('0xb')][_0x47b34e]){this[_0xe309('0xb')][_0x47b34e][_0xe309('0x10')][_0xe309('0x11')]=_0xe309('0x1d');this['mailAccounts'][_0x47b34e][_0xe309('0x10')][_0xe309('0x20')]=_0x102ba3;return this['emit'](_0x47b34e);}};EmailChannel[_0xe309('0xc')][_0xe309('0x2d')]=function(_0x24db38,_0x4e21f7){return this[_0xe309('0x2e')][_0xe309('0x2f')](_0x24db38,_0x4e21f7);};EmailChannel[_0xe309('0xc')][_0xe309('0x30')]=function(_0x15b5b8){var _0x35c09e=this;if(this[_0xe309('0xb')][_0x15b5b8['id']]){if(_[_0xe309('0x12')](this[_0xe309('0xb')][_0x15b5b8['id']]['Smtp'])){this[_0xe309('0xb')][_0x15b5b8['id']][_0xe309('0x31')]={};}this[_0xe309('0xb')][_0x15b5b8['id']][_0xe309('0x31')][_0xe309('0x2c')]=moment();return new BPromise(function(_0x24e098,_0x5f3df3){return _0x35c09e[_0xe309('0x2e')][_0xe309('0x32')](_0x15b5b8)[_0xe309('0x28')](function(_0x2030cb){_0x35c09e['mailAccounts'][_0x15b5b8['id']][_0xe309('0x31')][_0xe309('0x11')]=_0xe309('0x33');_0x35c09e[_0xe309('0xb')][_0x15b5b8['id']]['Smtp'][_0xe309('0x20')]='';_0x35c09e[_0xe309('0xd')](_0x15b5b8['id']);_0x24e098(_0x2030cb);})[_0xe309('0x2a')](function(_0x4d3c4c){_0x35c09e['mailAccounts'][_0x15b5b8['id']][_0xe309('0x31')][_0xe309('0x11')]=_0xe309('0x1d');_0x35c09e[_0xe309('0xb')][_0x15b5b8['id']][_0xe309('0x31')][_0xe309('0x20')]=_0x4d3c4c;_0x35c09e[_0xe309('0xd')](_0x15b5b8['id']);_0x5f3df3(_0x4d3c4c);});});}return this[_0xe309('0x2e')][_0xe309('0x32')](_0x15b5b8);};module[_0xe309('0x34')]=EmailChannel;
\ No newline at end of file