Built motion from commit fda31434.|2.5.44
[motion2.git] / server / services / email / lib / email.js
index 21f25bb..8aa382a 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x47e7=['sendMail','verifySmtp','Smtp','smtp','verify','verified','exports','lodash','moment','bluebird','md5','ioredis','../../../config/environment','../../../config/logger','redis','defaults','socket.io-emitter','./smtp','../rpc/mailAccount','info','start\x20email\x20channel','mailAccounts','imapAccounts','prototype','emit','key','active','Imap','messageStatus','total','isNil','refresh','hasOwnProperty','service','provider','custom','email','box','handleImapBox','handleImapEmail','handleImapEnd','bind','error','status','connected','name','messages','New\x20email\x20from\x20%s\x20%s\x20%s\x20to\x20%s','lastName','from','notify','then','catch','Mail\x20not\x20accepted\x20from\x20routing\x20%s','stringify','lastSync','handleImapError'];(function(_0x4c29f9,_0x5bddd4){var _0x4e17b8=function(_0x12e055){while(--_0x12e055){_0x4c29f9['push'](_0x4c29f9['shift']());}};_0x4e17b8(++_0x5bddd4);}(_0x47e7,0x1cf));var _0x747e=function(_0x518510,_0x55246e){_0x518510=_0x518510-0x0;var _0x281fa0=_0x47e7[_0x518510];return _0x281fa0;};'use strict';var _=require(_0x747e('0x0'));var moment=require(_0x747e('0x1'));var BPromise=require(_0x747e('0x2'));var md5=require(_0x747e('0x3'));var Redis=require(_0x747e('0x4'));var config=require(_0x747e('0x5'));var logger=require(_0x747e('0x6'))('email');config[_0x747e('0x7')]=_[_0x747e('0x8')](config[_0x747e('0x7')],{'host':'localhost','port':0x18eb});var io=require(_0x747e('0x9'))(new Redis(config[_0x747e('0x7')]));var EmailImap=require('./imap');var EmailSmtp=require(_0x747e('0xa'));var mailAccount=require(_0x747e('0xb'));var md5Accounts={};function EmailChannel(_0x84fa4d){logger[_0x747e('0xc')](_0x747e('0xd'));this['mailAccounts']=_0x84fa4d[_0x747e('0xe')];this[_0x747e('0xf')]={};this['smtp']=new EmailSmtp();}EmailChannel[_0x747e('0x10')][_0x747e('0x11')]=function(_0x51a4d7){var _0x1fe788=this[_0x747e('0xe')][_0x51a4d7];var _0x1eedca={'id':_0x1fe788['id'],'name':_0x1fe788['name'],'key':_0x1fe788[_0x747e('0x12')],'active':_0x1fe788[_0x747e('0x13')],'Imap':{'status':_0x1fe788[_0x747e('0x14')]['status'],'messageStatus':_0x1fe788[_0x747e('0x14')][_0x747e('0x15')],'total':_0x1fe788[_0x747e('0x14')][_0x747e('0x16')]}};if(_[_0x747e('0x17')](md5Accounts[_0x51a4d7])){md5Accounts[_0x51a4d7]={};}var _0x897cf7=md5(JSON['stringify'](_0x1eedca));if(md5Accounts[_0x51a4d7][_0x747e('0x3')]!==_0x897cf7){md5Accounts[_0x51a4d7][_0x747e('0x3')]=_0x897cf7;io['emit']('mailAccount:update',_0x1eedca);}};EmailChannel[_0x747e('0x10')][_0x747e('0x18')]=function(_0x14eb53){for(var _0x436eac in _0x14eb53){if(_0x14eb53[_0x747e('0x19')](_0x436eac)){if(_0x14eb53[_0x436eac][_0x747e('0x14')]&&_0x14eb53[_0x436eac][_0x747e('0x13')]){var _0x3b95f4=_0x14eb53[_0x436eac][_0x747e('0x14')];if(!_0x3b95f4[_0x747e('0x1a')]&&_0x14eb53[_0x436eac][_0x747e('0x1b')]!==_0x747e('0x1c'))_0x3b95f4[_0x747e('0x1a')]=_0x14eb53[_0x436eac][_0x747e('0x1b')];if(!this[_0x747e('0xf')]['hasOwnProperty'](_0x3b95f4['id'])){this[_0x747e('0xf')][_0x3b95f4['id']]=new EmailImap(_0x3b95f4,_0x14eb53[_0x436eac][_0x747e('0x1d')]);this['imapAccounts'][_0x3b95f4['id']]['on'](_0x747e('0x1e'),this[_0x747e('0x1f')]['bind'](this,_0x436eac));this['imapAccounts'][_0x3b95f4['id']]['on'](_0x747e('0x1d'),this[_0x747e('0x20')]['bind'](this,_0x436eac));this[_0x747e('0xf')][_0x3b95f4['id']]['on']('end',this[_0x747e('0x21')][_0x747e('0x22')](this,_0x436eac));this['imapAccounts'][_0x3b95f4['id']]['on'](_0x747e('0x23'),this['handleImapError'][_0x747e('0x22')](this,_0x436eac));}}else{if(_[_0x747e('0x17')](this[_0x747e('0xe')][_0x436eac][_0x747e('0x14')])){this[_0x747e('0xe')][_0x436eac][_0x747e('0x14')]={};}this[_0x747e('0xe')][_0x436eac]['Imap'][_0x747e('0x24')]='disabled';this[_0x747e('0xe')][_0x436eac]['Imap']['messageStatus']='';this[_0x747e('0x11')](_0x436eac);}}}};EmailChannel[_0x747e('0x10')][_0x747e('0x1f')]=function(_0x56365d,_0x1e898e){if(this[_0x747e('0xe')][_0x56365d]){this['mailAccounts'][_0x56365d]['Imap'][_0x747e('0x24')]=_0x747e('0x25');this[_0x747e('0xe')][_0x56365d][_0x747e('0x14')]['messageStatus']=_0x1e898e[_0x747e('0x26')];if(_0x1e898e['messages']){this[_0x747e('0xe')][_0x56365d][_0x747e('0x14')][_0x747e('0x16')]=_0x1e898e[_0x747e('0x27')][_0x747e('0x16')];}return this['emit'](_0x56365d);}};EmailChannel[_0x747e('0x10')][_0x747e('0x20')]=function(_0x267719,_0x47af2a){logger[_0x747e('0xc')](_0x747e('0x28'),_0x47af2a['firstName'],_0x47af2a[_0x747e('0x29')],_0x47af2a[_0x747e('0x2a')],_0x267719);if(this[_0x747e('0xe')][_0x267719]){return mailAccount[_0x747e('0x2b')](_0x267719,_0x47af2a)[_0x747e('0x2c')](function(_0x31aa6f){if(_0x31aa6f){logger[_0x747e('0xc')]('Mail\x20accepted\x20from\x20routing');}})[_0x747e('0x2d')](function(_0x4b5c84){logger[_0x747e('0x23')](_0x747e('0x2e'),JSON[_0x747e('0x2f')](_0x4b5c84));});}};EmailChannel[_0x747e('0x10')]['handleImapEnd']=function(_0x20764c){if(this[_0x747e('0xe')][_0x20764c]&&this[_0x747e('0xe')][_0x20764c][_0x747e('0x14')]){if(this[_0x747e('0xf')][this[_0x747e('0xe')][_0x20764c]['Imap']['id']]){delete this[_0x747e('0xf')][this['mailAccounts'][_0x20764c][_0x747e('0x14')]['id']];}this[_0x747e('0xe')][_0x20764c]['Imap'][_0x747e('0x30')]=moment();this[_0x747e('0x11')](_0x20764c);}};EmailChannel[_0x747e('0x10')][_0x747e('0x31')]=function(_0x550bb5,_0xe58534){if(this['mailAccounts'][_0x550bb5]){this[_0x747e('0xe')][_0x550bb5][_0x747e('0x14')]['status']='error';this['mailAccounts'][_0x550bb5][_0x747e('0x14')]['messageStatus']=_0xe58534;return this[_0x747e('0x11')](_0x550bb5);}};EmailChannel[_0x747e('0x10')][_0x747e('0x32')]=function(_0x3941ba,_0x19d426){return this['smtp']['send'](_0x3941ba,_0x19d426);};EmailChannel['prototype'][_0x747e('0x33')]=function(_0x4fcae9){var _0x20fbd4=this;if(this[_0x747e('0xe')][_0x4fcae9['id']]){if(_[_0x747e('0x17')](this[_0x747e('0xe')][_0x4fcae9['id']][_0x747e('0x34')])){this[_0x747e('0xe')][_0x4fcae9['id']][_0x747e('0x34')]={};}this[_0x747e('0xe')][_0x4fcae9['id']]['Smtp'][_0x747e('0x30')]=moment();return new BPromise(function(_0x212707,_0x34cf09){return _0x20fbd4[_0x747e('0x35')][_0x747e('0x36')](_0x4fcae9)[_0x747e('0x2c')](function(_0x7b551a){_0x20fbd4[_0x747e('0xe')][_0x4fcae9['id']][_0x747e('0x34')]['status']=_0x747e('0x37');_0x20fbd4[_0x747e('0xe')][_0x4fcae9['id']][_0x747e('0x34')]['messageStatus']='';_0x20fbd4[_0x747e('0x11')](_0x4fcae9['id']);_0x212707(_0x7b551a);})['catch'](function(_0x34b736){_0x20fbd4[_0x747e('0xe')][_0x4fcae9['id']][_0x747e('0x34')]['status']=_0x747e('0x23');_0x20fbd4[_0x747e('0xe')][_0x4fcae9['id']][_0x747e('0x34')][_0x747e('0x15')]=_0x34b736;_0x20fbd4[_0x747e('0x11')](_0x4fcae9['id']);_0x34cf09(_0x34b736);});});}return this[_0x747e('0x35')][_0x747e('0x36')](_0x4fcae9);};module[_0x747e('0x38')]=EmailChannel;
\ No newline at end of file
+var _0x8d86=['provider','box','handleImapBox','bind','handleImapEmail','end','handleImapEnd','error','handleImapError','isNil','disabled','status','connected','messages','info','New\x20email\x20from\x20%s\x20%s\x20%s\x20to\x20%s','firstName','from','notify','then','Mail\x20accepted\x20from\x20routing','catch','Mail\x20not\x20accepted\x20from\x20routing\x20%s','lastSync','sendMail','send','verifySmtp','Smtp','verify','exports','lodash','moment','bluebird','md5','../../../config/environment','../../../config/logger','email','redis','localhost','./imap','./smtp','start\x20email\x20channel','mailAccounts','imapAccounts','smtp','prototype','emit','name','key','active','Imap','messageStatus','total','stringify','mailAccount:update','hasOwnProperty','service'];(function(_0x47db99,_0x94df68){var _0x5c6781=function(_0x269233){while(--_0x269233){_0x47db99['push'](_0x47db99['shift']());}};_0x5c6781(++_0x94df68);}(_0x8d86,0x13b));var _0x68d8=function(_0x2f1762,_0xab43df){_0x2f1762=_0x2f1762-0x0;var _0x8ab21=_0x8d86[_0x2f1762];return _0x8ab21;};'use strict';var _=require(_0x68d8('0x0'));var moment=require(_0x68d8('0x1'));var BPromise=require(_0x68d8('0x2'));var md5=require(_0x68d8('0x3'));var Redis=require('ioredis');var config=require(_0x68d8('0x4'));var logger=require(_0x68d8('0x5'))(_0x68d8('0x6'));config['redis']=_['defaults'](config[_0x68d8('0x7')],{'host':_0x68d8('0x8'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x68d8('0x7')]));var EmailImap=require(_0x68d8('0x9'));var EmailSmtp=require(_0x68d8('0xa'));var mailAccount=require('../rpc/mailAccount');var md5Accounts={};function EmailChannel(_0x1f6536){logger['info'](_0x68d8('0xb'));this['mailAccounts']=_0x1f6536[_0x68d8('0xc')];this[_0x68d8('0xd')]={};this[_0x68d8('0xe')]=new EmailSmtp();}EmailChannel[_0x68d8('0xf')][_0x68d8('0x10')]=function(_0x30e7be){var _0x5d4659=this[_0x68d8('0xc')][_0x30e7be];var _0x1214d7={'id':_0x5d4659['id'],'name':_0x5d4659[_0x68d8('0x11')],'key':_0x5d4659[_0x68d8('0x12')],'active':_0x5d4659[_0x68d8('0x13')],'Imap':{'status':_0x5d4659[_0x68d8('0x14')]['status'],'messageStatus':_0x5d4659[_0x68d8('0x14')][_0x68d8('0x15')],'total':_0x5d4659[_0x68d8('0x14')][_0x68d8('0x16')]}};if(_['isNil'](md5Accounts[_0x30e7be])){md5Accounts[_0x30e7be]={};}var _0xfa5c87=md5(JSON[_0x68d8('0x17')](_0x1214d7));if(md5Accounts[_0x30e7be][_0x68d8('0x3')]!==_0xfa5c87){md5Accounts[_0x30e7be][_0x68d8('0x3')]=_0xfa5c87;io[_0x68d8('0x10')](_0x68d8('0x18'),_0x1214d7);}};EmailChannel['prototype']['refresh']=function(_0x19803f){for(var _0x65d9ca in _0x19803f){if(_0x19803f[_0x68d8('0x19')](_0x65d9ca)){if(_0x19803f[_0x65d9ca][_0x68d8('0x14')]&&_0x19803f[_0x65d9ca][_0x68d8('0x13')]){var _0xccd4f9=_0x19803f[_0x65d9ca][_0x68d8('0x14')];if(!_0xccd4f9[_0x68d8('0x1a')]&&_0x19803f[_0x65d9ca][_0x68d8('0x1b')]!=='custom')_0xccd4f9[_0x68d8('0x1a')]=_0x19803f[_0x65d9ca][_0x68d8('0x1b')];if(!this[_0x68d8('0xd')]['hasOwnProperty'](_0xccd4f9['id'])){this[_0x68d8('0xd')][_0xccd4f9['id']]=new EmailImap(_0xccd4f9,_0x19803f[_0x65d9ca][_0x68d8('0x6')]);this['imapAccounts'][_0xccd4f9['id']]['on'](_0x68d8('0x1c'),this[_0x68d8('0x1d')][_0x68d8('0x1e')](this,_0x65d9ca));this[_0x68d8('0xd')][_0xccd4f9['id']]['on'](_0x68d8('0x6'),this[_0x68d8('0x1f')][_0x68d8('0x1e')](this,_0x65d9ca));this[_0x68d8('0xd')][_0xccd4f9['id']]['on'](_0x68d8('0x20'),this[_0x68d8('0x21')][_0x68d8('0x1e')](this,_0x65d9ca));this[_0x68d8('0xd')][_0xccd4f9['id']]['on'](_0x68d8('0x22'),this[_0x68d8('0x23')]['bind'](this,_0x65d9ca));}}else{if(_[_0x68d8('0x24')](this['mailAccounts'][_0x65d9ca]['Imap'])){this['mailAccounts'][_0x65d9ca]['Imap']={};}this[_0x68d8('0xc')][_0x65d9ca][_0x68d8('0x14')]['status']=_0x68d8('0x25');this[_0x68d8('0xc')][_0x65d9ca][_0x68d8('0x14')]['messageStatus']='';this[_0x68d8('0x10')](_0x65d9ca);}}}};EmailChannel[_0x68d8('0xf')][_0x68d8('0x1d')]=function(_0x20e432,_0x49983b){if(this[_0x68d8('0xc')][_0x20e432]){this['mailAccounts'][_0x20e432]['Imap'][_0x68d8('0x26')]=_0x68d8('0x27');this[_0x68d8('0xc')][_0x20e432]['Imap'][_0x68d8('0x15')]=_0x49983b[_0x68d8('0x11')];if(_0x49983b[_0x68d8('0x28')]){this[_0x68d8('0xc')][_0x20e432][_0x68d8('0x14')]['total']=_0x49983b[_0x68d8('0x28')]['total'];}return this[_0x68d8('0x10')](_0x20e432);}};EmailChannel[_0x68d8('0xf')][_0x68d8('0x1f')]=function(_0x332731,_0x1ce7fe){logger[_0x68d8('0x29')](_0x68d8('0x2a'),_0x1ce7fe[_0x68d8('0x2b')],_0x1ce7fe['lastName'],_0x1ce7fe[_0x68d8('0x2c')],_0x332731);if(this[_0x68d8('0xc')][_0x332731]){return mailAccount[_0x68d8('0x2d')](_0x332731,_0x1ce7fe)[_0x68d8('0x2e')](function(_0x18af63){if(_0x18af63){logger['info'](_0x68d8('0x2f'));}})[_0x68d8('0x30')](function(_0x20afd3){logger[_0x68d8('0x22')](_0x68d8('0x31'),JSON['stringify'](_0x20afd3));});}};EmailChannel[_0x68d8('0xf')][_0x68d8('0x21')]=function(_0x37ae1f){if(this[_0x68d8('0xc')][_0x37ae1f]&&this[_0x68d8('0xc')][_0x37ae1f][_0x68d8('0x14')]){if(this[_0x68d8('0xd')][this['mailAccounts'][_0x37ae1f][_0x68d8('0x14')]['id']]){delete this[_0x68d8('0xd')][this[_0x68d8('0xc')][_0x37ae1f][_0x68d8('0x14')]['id']];}this['mailAccounts'][_0x37ae1f][_0x68d8('0x14')][_0x68d8('0x32')]=moment();this[_0x68d8('0x10')](_0x37ae1f);}};EmailChannel[_0x68d8('0xf')][_0x68d8('0x23')]=function(_0x5b7819,_0x5a59da){if(this[_0x68d8('0xc')][_0x5b7819]){this['mailAccounts'][_0x5b7819]['Imap'][_0x68d8('0x26')]=_0x68d8('0x22');this[_0x68d8('0xc')][_0x5b7819][_0x68d8('0x14')][_0x68d8('0x15')]=_0x5a59da;return this[_0x68d8('0x10')](_0x5b7819);}};EmailChannel[_0x68d8('0xf')][_0x68d8('0x33')]=function(_0xa03b27,_0x5b7172){return this[_0x68d8('0xe')][_0x68d8('0x34')](_0xa03b27,_0x5b7172);};EmailChannel[_0x68d8('0xf')][_0x68d8('0x35')]=function(_0x32ad2a){var _0x1ff877=this;if(this['mailAccounts'][_0x32ad2a['id']]){if(_[_0x68d8('0x24')](this[_0x68d8('0xc')][_0x32ad2a['id']][_0x68d8('0x36')])){this[_0x68d8('0xc')][_0x32ad2a['id']][_0x68d8('0x36')]={};}this[_0x68d8('0xc')][_0x32ad2a['id']][_0x68d8('0x36')][_0x68d8('0x32')]=moment();return new BPromise(function(_0x3777ae,_0x14626a){return _0x1ff877[_0x68d8('0xe')][_0x68d8('0x37')](_0x32ad2a)['then'](function(_0x5b29e0){_0x1ff877[_0x68d8('0xc')][_0x32ad2a['id']][_0x68d8('0x36')]['status']='verified';_0x1ff877[_0x68d8('0xc')][_0x32ad2a['id']][_0x68d8('0x36')][_0x68d8('0x15')]='';_0x1ff877[_0x68d8('0x10')](_0x32ad2a['id']);_0x3777ae(_0x5b29e0);})[_0x68d8('0x30')](function(_0x50ae8d){_0x1ff877[_0x68d8('0xc')][_0x32ad2a['id']][_0x68d8('0x36')][_0x68d8('0x26')]=_0x68d8('0x22');_0x1ff877[_0x68d8('0xc')][_0x32ad2a['id']][_0x68d8('0x36')][_0x68d8('0x15')]=_0x50ae8d;_0x1ff877[_0x68d8('0x10')](_0x32ad2a['id']);_0x14626a(_0x50ae8d);});});}return this[_0x68d8('0xe')][_0x68d8('0x37')](_0x32ad2a);};module[_0x68d8('0x38')]=EmailChannel;
\ No newline at end of file