Built motion from commit (unavailable).|2.5.4
[motion2.git] / server / services / email / lib / email.js
index 9a6549e..2192cc6 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x39cc=['ioredis','../../../config/environment','../../../config/logger','redis','defaults','localhost','socket.io-emitter','./imap','./smtp','mailAccounts','imapAccounts','smtp','prototype','emit','name','key','active','status','Imap','messageStatus','total','isNil','hasOwnProperty','email','bind','handleImapEmail','end','handleImapEnd','error','handleImapError','connected','messages','lastName','notify','info','catch','Mail\x20not\x20accepted\x20from\x20routing\x20%s','sendMail','send','verifySmtp','Smtp','lastSync','verify','verified','exports','lodash','bluebird','md5'];(function(_0x2f4c1c,_0x5a3dd4){var _0x25e0f2=function(_0x46ea31){while(--_0x46ea31){_0x2f4c1c['push'](_0x2f4c1c['shift']());}};_0x25e0f2(++_0x5a3dd4);}(_0x39cc,0x17d));var _0xc39c=function(_0x1378e0,_0x1e4934){_0x1378e0=_0x1378e0-0x0;var _0x57fa11=_0x39cc[_0x1378e0];return _0x57fa11;};'use strict';var _=require(_0xc39c('0x0'));var moment=require('moment');var BPromise=require(_0xc39c('0x1'));var md5=require(_0xc39c('0x2'));var Redis=require(_0xc39c('0x3'));var config=require(_0xc39c('0x4'));var logger=require(_0xc39c('0x5'))('email');config[_0xc39c('0x6')]=_[_0xc39c('0x7')](config[_0xc39c('0x6')],{'host':_0xc39c('0x8'),'port':0x18eb});var io=require(_0xc39c('0x9'))(new Redis(config[_0xc39c('0x6')]));var EmailImap=require(_0xc39c('0xa'));var EmailSmtp=require(_0xc39c('0xb'));var mailAccount=require('../rpc/mailAccount');var md5Accounts={};function EmailChannel(_0x45950b){logger['info']('start\x20email\x20channel');this[_0xc39c('0xc')]=_0x45950b['mailAccounts'];this[_0xc39c('0xd')]={};this[_0xc39c('0xe')]=new EmailSmtp();}EmailChannel[_0xc39c('0xf')][_0xc39c('0x10')]=function(_0x56274a){var _0x5228e4=this['mailAccounts'][_0x56274a];var _0x3e2e1a={'id':_0x5228e4['id'],'name':_0x5228e4[_0xc39c('0x11')],'key':_0x5228e4[_0xc39c('0x12')],'active':_0x5228e4[_0xc39c('0x13')],'Imap':{'status':_0x5228e4['Imap'][_0xc39c('0x14')],'messageStatus':_0x5228e4[_0xc39c('0x15')][_0xc39c('0x16')],'total':_0x5228e4[_0xc39c('0x15')][_0xc39c('0x17')]}};if(_[_0xc39c('0x18')](md5Accounts[_0x56274a])){md5Accounts[_0x56274a]={};}var _0x330ac6=md5(JSON['stringify'](_0x3e2e1a));if(md5Accounts[_0x56274a][_0xc39c('0x2')]!==_0x330ac6){md5Accounts[_0x56274a][_0xc39c('0x2')]=_0x330ac6;io[_0xc39c('0x10')]('mailAccount:update',_0x3e2e1a);}};EmailChannel[_0xc39c('0xf')]['refresh']=function(_0x1d4a89){for(var _0x1dd047 in _0x1d4a89){if(_0x1d4a89['hasOwnProperty'](_0x1dd047)){if(_0x1d4a89[_0x1dd047][_0xc39c('0x15')]&&_0x1d4a89[_0x1dd047]['active']){var _0x42910e=_0x1d4a89[_0x1dd047][_0xc39c('0x15')];if(!this['imapAccounts'][_0xc39c('0x19')](_0x42910e['id'])){this['imapAccounts'][_0x42910e['id']]=new EmailImap(_0x42910e,_0x1d4a89[_0x1dd047][_0xc39c('0x1a')]);this[_0xc39c('0xd')][_0x42910e['id']]['on']('box',this['handleImapBox'][_0xc39c('0x1b')](this,_0x1dd047));this[_0xc39c('0xd')][_0x42910e['id']]['on'](_0xc39c('0x1a'),this[_0xc39c('0x1c')][_0xc39c('0x1b')](this,_0x1dd047));this[_0xc39c('0xd')][_0x42910e['id']]['on'](_0xc39c('0x1d'),this[_0xc39c('0x1e')]['bind'](this,_0x1dd047));this[_0xc39c('0xd')][_0x42910e['id']]['on'](_0xc39c('0x1f'),this[_0xc39c('0x20')][_0xc39c('0x1b')](this,_0x1dd047));}}else{if(_['isNil'](this[_0xc39c('0xc')][_0x1dd047]['Imap'])){this['mailAccounts'][_0x1dd047][_0xc39c('0x15')]={};}this[_0xc39c('0xc')][_0x1dd047][_0xc39c('0x15')][_0xc39c('0x14')]='disabled';this[_0xc39c('0xc')][_0x1dd047][_0xc39c('0x15')][_0xc39c('0x16')]='';this['emit'](_0x1dd047);}}}};EmailChannel[_0xc39c('0xf')]['handleImapBox']=function(_0x387693,_0x2bb4d9){if(this['mailAccounts'][_0x387693]){this['mailAccounts'][_0x387693][_0xc39c('0x15')][_0xc39c('0x14')]=_0xc39c('0x21');this[_0xc39c('0xc')][_0x387693]['Imap']['messageStatus']=_0x2bb4d9[_0xc39c('0x11')];if(_0x2bb4d9[_0xc39c('0x22')]){this[_0xc39c('0xc')][_0x387693][_0xc39c('0x15')][_0xc39c('0x17')]=_0x2bb4d9[_0xc39c('0x22')][_0xc39c('0x17')];}return this[_0xc39c('0x10')](_0x387693);}};EmailChannel[_0xc39c('0xf')][_0xc39c('0x1c')]=function(_0x5c643b,_0x250a07){logger['info']('New\x20email\x20from\x20%s\x20%s\x20%s\x20to\x20%s',_0x250a07['firstName'],_0x250a07[_0xc39c('0x23')],_0x250a07['from'],_0x5c643b);if(this['mailAccounts'][_0x5c643b]){return mailAccount[_0xc39c('0x24')](_0x5c643b,_0x250a07)['then'](function(_0x4360fb){if(_0x4360fb){logger[_0xc39c('0x25')]('Mail\x20accepted\x20from\x20routing');}})[_0xc39c('0x26')](function(_0x4291be){logger[_0xc39c('0x1f')](_0xc39c('0x27'),JSON['stringify'](_0x4291be));});}};EmailChannel['prototype'][_0xc39c('0x1e')]=function(_0x56ef63){if(this[_0xc39c('0xc')][_0x56ef63]&&this[_0xc39c('0xc')][_0x56ef63][_0xc39c('0x15')]){if(this[_0xc39c('0xd')][this[_0xc39c('0xc')][_0x56ef63][_0xc39c('0x15')]['id']]){delete this[_0xc39c('0xd')][this[_0xc39c('0xc')][_0x56ef63][_0xc39c('0x15')]['id']];}this['mailAccounts'][_0x56ef63][_0xc39c('0x15')]['lastSync']=moment();this[_0xc39c('0x10')](_0x56ef63);}};EmailChannel[_0xc39c('0xf')][_0xc39c('0x20')]=function(_0x3ff6a4,_0x26eda8){if(this['mailAccounts'][_0x3ff6a4]){this[_0xc39c('0xc')][_0x3ff6a4][_0xc39c('0x15')][_0xc39c('0x14')]=_0xc39c('0x1f');this[_0xc39c('0xc')][_0x3ff6a4][_0xc39c('0x15')][_0xc39c('0x16')]=_0x26eda8;return this[_0xc39c('0x10')](_0x3ff6a4);}};EmailChannel[_0xc39c('0xf')][_0xc39c('0x28')]=function(_0x2d006a,_0x863c65){return this[_0xc39c('0xe')][_0xc39c('0x29')](_0x2d006a,_0x863c65);};EmailChannel[_0xc39c('0xf')][_0xc39c('0x2a')]=function(_0x2f018f){var _0x5089d7=this;if(this['mailAccounts'][_0x2f018f['id']]){if(_[_0xc39c('0x18')](this[_0xc39c('0xc')][_0x2f018f['id']][_0xc39c('0x2b')])){this[_0xc39c('0xc')][_0x2f018f['id']]['Smtp']={};}this[_0xc39c('0xc')][_0x2f018f['id']][_0xc39c('0x2b')][_0xc39c('0x2c')]=moment();return new BPromise(function(_0x3ecbc,_0xce230a){return _0x5089d7[_0xc39c('0xe')][_0xc39c('0x2d')](_0x2f018f)['then'](function(_0x16ff00){_0x5089d7[_0xc39c('0xc')][_0x2f018f['id']][_0xc39c('0x2b')][_0xc39c('0x14')]=_0xc39c('0x2e');_0x5089d7['mailAccounts'][_0x2f018f['id']][_0xc39c('0x2b')]['messageStatus']='';_0x5089d7[_0xc39c('0x10')](_0x2f018f['id']);_0x3ecbc(_0x16ff00);})[_0xc39c('0x26')](function(_0x3a6a59){_0x5089d7[_0xc39c('0xc')][_0x2f018f['id']][_0xc39c('0x2b')][_0xc39c('0x14')]=_0xc39c('0x1f');_0x5089d7[_0xc39c('0xc')][_0x2f018f['id']][_0xc39c('0x2b')][_0xc39c('0x16')]=_0x3a6a59;_0x5089d7[_0xc39c('0x10')](_0x2f018f['id']);_0xce230a(_0x3a6a59);});});}return this['smtp']['verify'](_0x2f018f);};module[_0xc39c('0x2f')]=EmailChannel;
\ No newline at end of file
+var _0x33c8=['socket.io-emitter','./imap','./smtp','../rpc/mailAccount','start\x20email\x20channel','mailAccounts','smtp','emit','name','key','active','Imap','status','isNil','stringify','mailAccount:update','prototype','refresh','hasOwnProperty','imapAccounts','email','box','handleImapBox','bind','handleImapEmail','end','error','handleImapError','connected','messageStatus','total','messages','New\x20email\x20from\x20%s\x20%s\x20%s\x20to\x20%s','firstName','lastName','from','then','info','Mail\x20accepted\x20from\x20routing','catch','Mail\x20not\x20accepted\x20from\x20routing\x20%s','handleImapEnd','lastSync','Smtp','verify','verified','moment','bluebird','md5','ioredis','../../../config/logger','defaults','redis','localhost'];(function(_0x4f6d08,_0x1b3dd0){var _0x53a9c6=function(_0x2e0e0f){while(--_0x2e0e0f){_0x4f6d08['push'](_0x4f6d08['shift']());}};_0x53a9c6(++_0x1b3dd0);}(_0x33c8,0xd0));var _0x833c=function(_0x3cce6d,_0x19a3f6){_0x3cce6d=_0x3cce6d-0x0;var _0x44d6e2=_0x33c8[_0x3cce6d];return _0x44d6e2;};'use strict';var _=require('lodash');var moment=require(_0x833c('0x0'));var BPromise=require(_0x833c('0x1'));var md5=require(_0x833c('0x2'));var Redis=require(_0x833c('0x3'));var config=require('../../../config/environment');var logger=require(_0x833c('0x4'))('email');config['redis']=_[_0x833c('0x5')](config[_0x833c('0x6')],{'host':_0x833c('0x7'),'port':0x18eb});var io=require(_0x833c('0x8'))(new Redis(config[_0x833c('0x6')]));var EmailImap=require(_0x833c('0x9'));var EmailSmtp=require(_0x833c('0xa'));var mailAccount=require(_0x833c('0xb'));var md5Accounts={};function EmailChannel(_0x735d47){logger['info'](_0x833c('0xc'));this[_0x833c('0xd')]=_0x735d47[_0x833c('0xd')];this['imapAccounts']={};this[_0x833c('0xe')]=new EmailSmtp();}EmailChannel['prototype'][_0x833c('0xf')]=function(_0x4fd160){var _0x13e827=this[_0x833c('0xd')][_0x4fd160];var _0x509f4d={'id':_0x13e827['id'],'name':_0x13e827[_0x833c('0x10')],'key':_0x13e827[_0x833c('0x11')],'active':_0x13e827[_0x833c('0x12')],'Imap':{'status':_0x13e827[_0x833c('0x13')][_0x833c('0x14')],'messageStatus':_0x13e827['Imap']['messageStatus'],'total':_0x13e827[_0x833c('0x13')]['total']}};if(_[_0x833c('0x15')](md5Accounts[_0x4fd160])){md5Accounts[_0x4fd160]={};}var _0x1410f9=md5(JSON[_0x833c('0x16')](_0x509f4d));if(md5Accounts[_0x4fd160][_0x833c('0x2')]!==_0x1410f9){md5Accounts[_0x4fd160][_0x833c('0x2')]=_0x1410f9;io[_0x833c('0xf')](_0x833c('0x17'),_0x509f4d);}};EmailChannel[_0x833c('0x18')][_0x833c('0x19')]=function(_0x13c6ab){for(var _0x46f18e in _0x13c6ab){if(_0x13c6ab[_0x833c('0x1a')](_0x46f18e)){if(_0x13c6ab[_0x46f18e][_0x833c('0x13')]&&_0x13c6ab[_0x46f18e][_0x833c('0x12')]){var _0x73c240=_0x13c6ab[_0x46f18e][_0x833c('0x13')];if(!this[_0x833c('0x1b')]['hasOwnProperty'](_0x73c240['id'])){this[_0x833c('0x1b')][_0x73c240['id']]=new EmailImap(_0x73c240,_0x13c6ab[_0x46f18e][_0x833c('0x1c')]);this[_0x833c('0x1b')][_0x73c240['id']]['on'](_0x833c('0x1d'),this[_0x833c('0x1e')][_0x833c('0x1f')](this,_0x46f18e));this['imapAccounts'][_0x73c240['id']]['on'](_0x833c('0x1c'),this[_0x833c('0x20')]['bind'](this,_0x46f18e));this['imapAccounts'][_0x73c240['id']]['on'](_0x833c('0x21'),this['handleImapEnd'][_0x833c('0x1f')](this,_0x46f18e));this[_0x833c('0x1b')][_0x73c240['id']]['on'](_0x833c('0x22'),this[_0x833c('0x23')][_0x833c('0x1f')](this,_0x46f18e));}}else{if(_[_0x833c('0x15')](this[_0x833c('0xd')][_0x46f18e][_0x833c('0x13')])){this[_0x833c('0xd')][_0x46f18e]['Imap']={};}this[_0x833c('0xd')][_0x46f18e][_0x833c('0x13')][_0x833c('0x14')]='disabled';this[_0x833c('0xd')][_0x46f18e]['Imap']['messageStatus']='';this['emit'](_0x46f18e);}}}};EmailChannel['prototype'][_0x833c('0x1e')]=function(_0x3958ad,_0x13e1a8){if(this[_0x833c('0xd')][_0x3958ad]){this[_0x833c('0xd')][_0x3958ad][_0x833c('0x13')]['status']=_0x833c('0x24');this[_0x833c('0xd')][_0x3958ad][_0x833c('0x13')][_0x833c('0x25')]=_0x13e1a8[_0x833c('0x10')];if(_0x13e1a8['messages']){this['mailAccounts'][_0x3958ad]['Imap'][_0x833c('0x26')]=_0x13e1a8[_0x833c('0x27')][_0x833c('0x26')];}return this[_0x833c('0xf')](_0x3958ad);}};EmailChannel[_0x833c('0x18')][_0x833c('0x20')]=function(_0x57d949,_0x13401c){logger['info'](_0x833c('0x28'),_0x13401c[_0x833c('0x29')],_0x13401c[_0x833c('0x2a')],_0x13401c[_0x833c('0x2b')],_0x57d949);if(this[_0x833c('0xd')][_0x57d949]){return mailAccount['notify'](_0x57d949,_0x13401c)[_0x833c('0x2c')](function(_0x4cc7ba){if(_0x4cc7ba){logger[_0x833c('0x2d')](_0x833c('0x2e'));}})[_0x833c('0x2f')](function(_0x573009){logger[_0x833c('0x22')](_0x833c('0x30'),JSON[_0x833c('0x16')](_0x573009));});}};EmailChannel[_0x833c('0x18')][_0x833c('0x31')]=function(_0x5ed90e){if(this[_0x833c('0xd')][_0x5ed90e]&&this[_0x833c('0xd')][_0x5ed90e][_0x833c('0x13')]){if(this[_0x833c('0x1b')][this[_0x833c('0xd')][_0x5ed90e][_0x833c('0x13')]['id']]){delete this['imapAccounts'][this['mailAccounts'][_0x5ed90e][_0x833c('0x13')]['id']];}this[_0x833c('0xd')][_0x5ed90e][_0x833c('0x13')][_0x833c('0x32')]=moment();this['emit'](_0x5ed90e);}};EmailChannel[_0x833c('0x18')][_0x833c('0x23')]=function(_0x56e241,_0x5e1fed){if(this['mailAccounts'][_0x56e241]){this[_0x833c('0xd')][_0x56e241]['Imap'][_0x833c('0x14')]=_0x833c('0x22');this[_0x833c('0xd')][_0x56e241][_0x833c('0x13')][_0x833c('0x25')]=_0x5e1fed;return this[_0x833c('0xf')](_0x56e241);}};EmailChannel['prototype']['sendMail']=function(_0x4f9493,_0x27369){return this['smtp']['send'](_0x4f9493,_0x27369);};EmailChannel[_0x833c('0x18')]['verifySmtp']=function(_0xa42359){var _0x39ac0a=this;if(this[_0x833c('0xd')][_0xa42359['id']]){if(_[_0x833c('0x15')](this[_0x833c('0xd')][_0xa42359['id']][_0x833c('0x33')])){this['mailAccounts'][_0xa42359['id']]['Smtp']={};}this['mailAccounts'][_0xa42359['id']][_0x833c('0x33')][_0x833c('0x32')]=moment();return new BPromise(function(_0x1d390a,_0x5ed250){return _0x39ac0a['smtp'][_0x833c('0x34')](_0xa42359)['then'](function(_0x4cb75c){_0x39ac0a[_0x833c('0xd')][_0xa42359['id']][_0x833c('0x33')][_0x833c('0x14')]=_0x833c('0x35');_0x39ac0a[_0x833c('0xd')][_0xa42359['id']]['Smtp'][_0x833c('0x25')]='';_0x39ac0a[_0x833c('0xf')](_0xa42359['id']);_0x1d390a(_0x4cb75c);})[_0x833c('0x2f')](function(_0x50bf2b){_0x39ac0a[_0x833c('0xd')][_0xa42359['id']][_0x833c('0x33')]['status']=_0x833c('0x22');_0x39ac0a[_0x833c('0xd')][_0xa42359['id']][_0x833c('0x33')][_0x833c('0x25')]=_0x50bf2b;_0x39ac0a[_0x833c('0xf')](_0xa42359['id']);_0x5ed250(_0x50bf2b);});});}return this[_0x833c('0xe')][_0x833c('0x34')](_0xa42359);};module['exports']=EmailChannel;
\ No newline at end of file