Built motion from commit 53172ac8.|2.6.30
[motion2.git] / server / services / email / lib / email.js
index be976f7..3eb60b3 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xb717=['key','active','Imap','status','total','isNil','stringify','md5','mailAccount:update','refresh','service','custom','provider','hasOwnProperty','email','box','handleImapBox','bind','handleImapEmail','handleImapEnd','error','handleImapError','disabled','messageStatus','connected','messages','New\x20email\x20from\x20%s\x20%s\x20%s\x20to\x20%s','firstName','lastName','notify','then','Mail\x20accepted\x20from\x20routing','catch','Mail\x20not\x20accepted\x20from\x20routing\x20%s','sendMail','Smtp','lastSync','verify','exports','moment','bluebird','ioredis','../../../config/environment','../../../config/logger','defaults','localhost','socket.io-emitter','redis','./imap','./smtp','../rpc/mailAccount','info','start\x20email\x20channel','mailAccounts','imapAccounts','smtp','prototype','emit','name'];(function(_0x4f3056,_0xe685f6){var _0x2b8af0=function(_0x3e04c2){while(--_0x3e04c2){_0x4f3056['push'](_0x4f3056['shift']());}};_0x2b8af0(++_0xe685f6);}(_0xb717,0x189));var _0x7b71=function(_0x314969,_0x428ca4){_0x314969=_0x314969-0x0;var _0x391c96=_0xb717[_0x314969];return _0x391c96;};'use strict';var _=require('lodash');var moment=require(_0x7b71('0x0'));var BPromise=require(_0x7b71('0x1'));var md5=require('md5');var Redis=require(_0x7b71('0x2'));var config=require(_0x7b71('0x3'));var logger=require(_0x7b71('0x4'))('email');config['redis']=_[_0x7b71('0x5')](config['redis'],{'host':_0x7b71('0x6'),'port':0x18eb});var io=require(_0x7b71('0x7'))(new Redis(config[_0x7b71('0x8')]));var EmailImap=require(_0x7b71('0x9'));var EmailSmtp=require(_0x7b71('0xa'));var mailAccount=require(_0x7b71('0xb'));var md5Accounts={};function EmailChannel(_0xee5e6e){logger[_0x7b71('0xc')](_0x7b71('0xd'));this[_0x7b71('0xe')]=_0xee5e6e['mailAccounts'];this[_0x7b71('0xf')]={};this[_0x7b71('0x10')]=new EmailSmtp();}EmailChannel[_0x7b71('0x11')][_0x7b71('0x12')]=function(_0x41a245){var _0x56d203=this[_0x7b71('0xe')][_0x41a245];var _0x2de084={'id':_0x56d203['id'],'name':_0x56d203[_0x7b71('0x13')],'key':_0x56d203[_0x7b71('0x14')],'active':_0x56d203[_0x7b71('0x15')],'Imap':{'status':_0x56d203[_0x7b71('0x16')][_0x7b71('0x17')],'messageStatus':_0x56d203[_0x7b71('0x16')]['messageStatus'],'total':_0x56d203[_0x7b71('0x16')][_0x7b71('0x18')]}};if(_[_0x7b71('0x19')](md5Accounts[_0x41a245])){md5Accounts[_0x41a245]={};}var _0x3857d2=md5(JSON[_0x7b71('0x1a')](_0x2de084));if(md5Accounts[_0x41a245][_0x7b71('0x1b')]!==_0x3857d2){md5Accounts[_0x41a245][_0x7b71('0x1b')]=_0x3857d2;io[_0x7b71('0x12')](_0x7b71('0x1c'),_0x2de084);}};EmailChannel[_0x7b71('0x11')][_0x7b71('0x1d')]=function(_0x171453){for(var _0x5d4fcf in _0x171453){if(_0x171453['hasOwnProperty'](_0x5d4fcf)){if(_0x171453[_0x5d4fcf][_0x7b71('0x16')]&&_0x171453[_0x5d4fcf][_0x7b71('0x15')]){var _0x93f22f=_0x171453[_0x5d4fcf][_0x7b71('0x16')];if(!_0x93f22f[_0x7b71('0x1e')]&&_0x171453[_0x5d4fcf]['provider']!==_0x7b71('0x1f'))_0x93f22f[_0x7b71('0x1e')]=_0x171453[_0x5d4fcf][_0x7b71('0x20')];if(!this[_0x7b71('0xf')][_0x7b71('0x21')](_0x93f22f['id'])){this[_0x7b71('0xf')][_0x93f22f['id']]=new EmailImap(_0x93f22f,_0x171453[_0x5d4fcf][_0x7b71('0x22')]);this[_0x7b71('0xf')][_0x93f22f['id']]['on'](_0x7b71('0x23'),this[_0x7b71('0x24')][_0x7b71('0x25')](this,_0x5d4fcf));this[_0x7b71('0xf')][_0x93f22f['id']]['on']('email',this[_0x7b71('0x26')]['bind'](this,_0x5d4fcf));this[_0x7b71('0xf')][_0x93f22f['id']]['on']('end',this[_0x7b71('0x27')]['bind'](this,_0x5d4fcf));this[_0x7b71('0xf')][_0x93f22f['id']]['on'](_0x7b71('0x28'),this[_0x7b71('0x29')][_0x7b71('0x25')](this,_0x5d4fcf));}}else{if(_[_0x7b71('0x19')](this['mailAccounts'][_0x5d4fcf][_0x7b71('0x16')])){this[_0x7b71('0xe')][_0x5d4fcf][_0x7b71('0x16')]={};}this[_0x7b71('0xe')][_0x5d4fcf][_0x7b71('0x16')]['status']=_0x7b71('0x2a');this[_0x7b71('0xe')][_0x5d4fcf]['Imap'][_0x7b71('0x2b')]='';this[_0x7b71('0x12')](_0x5d4fcf);}}}};EmailChannel[_0x7b71('0x11')][_0x7b71('0x24')]=function(_0x214284,_0x4a3f23){if(this[_0x7b71('0xe')][_0x214284]){this['mailAccounts'][_0x214284][_0x7b71('0x16')][_0x7b71('0x17')]=_0x7b71('0x2c');this[_0x7b71('0xe')][_0x214284]['Imap'][_0x7b71('0x2b')]=_0x4a3f23[_0x7b71('0x13')];if(_0x4a3f23['messages']){this[_0x7b71('0xe')][_0x214284][_0x7b71('0x16')][_0x7b71('0x18')]=_0x4a3f23[_0x7b71('0x2d')]['total'];}return this[_0x7b71('0x12')](_0x214284);}};EmailChannel['prototype'][_0x7b71('0x26')]=function(_0x1d370f,_0x321c8e){logger[_0x7b71('0xc')](_0x7b71('0x2e'),_0x321c8e[_0x7b71('0x2f')],_0x321c8e[_0x7b71('0x30')],_0x321c8e['from'],_0x1d370f);if(this[_0x7b71('0xe')][_0x1d370f]){return mailAccount[_0x7b71('0x31')](_0x1d370f,_0x321c8e)[_0x7b71('0x32')](function(_0x419b5d){if(_0x419b5d){logger['info'](_0x7b71('0x33'));}})[_0x7b71('0x34')](function(_0x4c50ae){logger[_0x7b71('0x28')](_0x7b71('0x35'),JSON[_0x7b71('0x1a')](_0x4c50ae));});}};EmailChannel['prototype']['handleImapEnd']=function(_0xcec74a){if(this['mailAccounts'][_0xcec74a]&&this[_0x7b71('0xe')][_0xcec74a][_0x7b71('0x16')]){if(this[_0x7b71('0xf')][this[_0x7b71('0xe')][_0xcec74a][_0x7b71('0x16')]['id']]){delete this[_0x7b71('0xf')][this[_0x7b71('0xe')][_0xcec74a][_0x7b71('0x16')]['id']];}this['mailAccounts'][_0xcec74a][_0x7b71('0x16')]['lastSync']=moment();this[_0x7b71('0x12')](_0xcec74a);}};EmailChannel['prototype'][_0x7b71('0x29')]=function(_0x56c806,_0x10f335){if(this[_0x7b71('0xe')][_0x56c806]){this[_0x7b71('0xe')][_0x56c806]['Imap']['status']=_0x7b71('0x28');this[_0x7b71('0xe')][_0x56c806][_0x7b71('0x16')][_0x7b71('0x2b')]=_0x10f335;return this['emit'](_0x56c806);}};EmailChannel['prototype'][_0x7b71('0x36')]=function(_0x2572fc,_0x4b6bff){return this['smtp']['send'](_0x2572fc,_0x4b6bff);};EmailChannel['prototype']['verifySmtp']=function(_0x57b99a){var _0x37e2a4=this;if(this['mailAccounts'][_0x57b99a['id']]){if(_[_0x7b71('0x19')](this[_0x7b71('0xe')][_0x57b99a['id']]['Smtp'])){this['mailAccounts'][_0x57b99a['id']][_0x7b71('0x37')]={};}this['mailAccounts'][_0x57b99a['id']]['Smtp'][_0x7b71('0x38')]=moment();return new BPromise(function(_0x4fdbf2,_0x35aa38){return _0x37e2a4[_0x7b71('0x10')][_0x7b71('0x39')](_0x57b99a)['then'](function(_0x113ff2){_0x37e2a4[_0x7b71('0xe')][_0x57b99a['id']][_0x7b71('0x37')]['status']='verified';_0x37e2a4[_0x7b71('0xe')][_0x57b99a['id']][_0x7b71('0x37')][_0x7b71('0x2b')]='';_0x37e2a4[_0x7b71('0x12')](_0x57b99a['id']);_0x4fdbf2(_0x113ff2);})['catch'](function(_0x2e8f60){_0x37e2a4[_0x7b71('0xe')][_0x57b99a['id']][_0x7b71('0x37')][_0x7b71('0x17')]=_0x7b71('0x28');_0x37e2a4['mailAccounts'][_0x57b99a['id']]['Smtp']['messageStatus']=_0x2e8f60;_0x37e2a4['emit'](_0x57b99a['id']);_0x35aa38(_0x2e8f60);});});}return this[_0x7b71('0x10')][_0x7b71('0x39')](_0x57b99a);};module[_0x7b71('0x3a')]=EmailChannel;
\ No newline at end of file
+var _0x7314=['handleImapEmail','end','handleImapEnd','error','handleImapError','bind','disabled','connected','messages','New\x20email\x20from\x20%s\x20%s\x20%s\x20to\x20%s','firstName','lastName','notify','Mail\x20not\x20accepted\x20from\x20routing\x20%s','lastSync','sendMail','Smtp','smtp','verify','then','verified','catch','exports','lodash','moment','bluebird','md5','ioredis','../../../config/environment','../../../config/logger','email','redis','defaults','localhost','socket.io-emitter','./imap','./smtp','info','start\x20email\x20channel','mailAccounts','imapAccounts','emit','name','key','active','Imap','status','messageStatus','total','isNil','stringify','mailAccount:update','prototype','refresh','hasOwnProperty','service','provider','custom','box','handleImapBox'];(function(_0x53cfce,_0x3bb189){var _0x4360d2=function(_0x1926dd){while(--_0x1926dd){_0x53cfce['push'](_0x53cfce['shift']());}};_0x4360d2(++_0x3bb189);}(_0x7314,0x1bb));var _0x4731=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x7314[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0x4731('0x0'));var moment=require(_0x4731('0x1'));var BPromise=require(_0x4731('0x2'));var md5=require(_0x4731('0x3'));var Redis=require(_0x4731('0x4'));var config=require(_0x4731('0x5'));var logger=require(_0x4731('0x6'))(_0x4731('0x7'));config[_0x4731('0x8')]=_[_0x4731('0x9')](config[_0x4731('0x8')],{'host':_0x4731('0xa'),'port':0x18eb});var io=require(_0x4731('0xb'))(new Redis(config[_0x4731('0x8')]));var EmailImap=require(_0x4731('0xc'));var EmailSmtp=require(_0x4731('0xd'));var mailAccount=require('../rpc/mailAccount');var md5Accounts={};function EmailChannel(_0x59db7e){logger[_0x4731('0xe')](_0x4731('0xf'));this[_0x4731('0x10')]=_0x59db7e[_0x4731('0x10')];this[_0x4731('0x11')]={};this['smtp']=new EmailSmtp();}EmailChannel['prototype'][_0x4731('0x12')]=function(_0x2299fc){var _0xb537bb=this[_0x4731('0x10')][_0x2299fc];var _0x1b1e2f={'id':_0xb537bb['id'],'name':_0xb537bb[_0x4731('0x13')],'key':_0xb537bb[_0x4731('0x14')],'active':_0xb537bb[_0x4731('0x15')],'Imap':{'status':_0xb537bb[_0x4731('0x16')][_0x4731('0x17')],'messageStatus':_0xb537bb[_0x4731('0x16')][_0x4731('0x18')],'total':_0xb537bb[_0x4731('0x16')][_0x4731('0x19')]}};if(_[_0x4731('0x1a')](md5Accounts[_0x2299fc])){md5Accounts[_0x2299fc]={};}var _0x2cd579=md5(JSON[_0x4731('0x1b')](_0x1b1e2f));if(md5Accounts[_0x2299fc]['md5']!==_0x2cd579){md5Accounts[_0x2299fc][_0x4731('0x3')]=_0x2cd579;io[_0x4731('0x12')](_0x4731('0x1c'),_0x1b1e2f);}};EmailChannel[_0x4731('0x1d')][_0x4731('0x1e')]=function(_0x15cdbd){for(var _0x4d6335 in _0x15cdbd){if(_0x15cdbd[_0x4731('0x1f')](_0x4d6335)){if(_0x15cdbd[_0x4d6335][_0x4731('0x16')]&&_0x15cdbd[_0x4d6335][_0x4731('0x15')]){var _0x464a21=_0x15cdbd[_0x4d6335][_0x4731('0x16')];if(!_0x464a21[_0x4731('0x20')]&&_0x15cdbd[_0x4d6335][_0x4731('0x21')]!==_0x4731('0x22'))_0x464a21['service']=_0x15cdbd[_0x4d6335]['provider'];if(!this[_0x4731('0x11')][_0x4731('0x1f')](_0x464a21['id'])){this[_0x4731('0x11')][_0x464a21['id']]=new EmailImap(_0x464a21,_0x15cdbd[_0x4d6335][_0x4731('0x7')]);this[_0x4731('0x11')][_0x464a21['id']]['on'](_0x4731('0x23'),this[_0x4731('0x24')]['bind'](this,_0x4d6335));this['imapAccounts'][_0x464a21['id']]['on'](_0x4731('0x7'),this[_0x4731('0x25')]['bind'](this,_0x4d6335));this['imapAccounts'][_0x464a21['id']]['on'](_0x4731('0x26'),this[_0x4731('0x27')]['bind'](this,_0x4d6335));this['imapAccounts'][_0x464a21['id']]['on'](_0x4731('0x28'),this[_0x4731('0x29')][_0x4731('0x2a')](this,_0x4d6335));}}else{if(_[_0x4731('0x1a')](this['mailAccounts'][_0x4d6335][_0x4731('0x16')])){this['mailAccounts'][_0x4d6335][_0x4731('0x16')]={};}this[_0x4731('0x10')][_0x4d6335]['Imap'][_0x4731('0x17')]=_0x4731('0x2b');this['mailAccounts'][_0x4d6335][_0x4731('0x16')][_0x4731('0x18')]='';this[_0x4731('0x12')](_0x4d6335);}}}};EmailChannel[_0x4731('0x1d')][_0x4731('0x24')]=function(_0x4ea850,_0xf494aa){if(this[_0x4731('0x10')][_0x4ea850]){this[_0x4731('0x10')][_0x4ea850][_0x4731('0x16')][_0x4731('0x17')]=_0x4731('0x2c');this['mailAccounts'][_0x4ea850][_0x4731('0x16')][_0x4731('0x18')]=_0xf494aa['name'];if(_0xf494aa['messages']){this['mailAccounts'][_0x4ea850][_0x4731('0x16')][_0x4731('0x19')]=_0xf494aa[_0x4731('0x2d')][_0x4731('0x19')];}return this[_0x4731('0x12')](_0x4ea850);}};EmailChannel[_0x4731('0x1d')]['handleImapEmail']=function(_0x4f81e7,_0x3a7761){logger[_0x4731('0xe')](_0x4731('0x2e'),_0x3a7761[_0x4731('0x2f')],_0x3a7761[_0x4731('0x30')],_0x3a7761['from'],_0x4f81e7);if(this[_0x4731('0x10')][_0x4f81e7]){return mailAccount[_0x4731('0x31')](_0x4f81e7,_0x3a7761)['then'](function(_0x353f05){if(_0x353f05){logger[_0x4731('0xe')]('Mail\x20accepted\x20from\x20routing');}})['catch'](function(_0x40ddeb){logger['error'](_0x4731('0x32'),JSON['stringify'](_0x40ddeb));});}};EmailChannel['prototype']['handleImapEnd']=function(_0x4d33ed){if(this[_0x4731('0x10')][_0x4d33ed]&&this[_0x4731('0x10')][_0x4d33ed][_0x4731('0x16')]){if(this['imapAccounts'][this[_0x4731('0x10')][_0x4d33ed][_0x4731('0x16')]['id']]){delete this[_0x4731('0x11')][this['mailAccounts'][_0x4d33ed][_0x4731('0x16')]['id']];}this[_0x4731('0x10')][_0x4d33ed][_0x4731('0x16')][_0x4731('0x33')]=moment();this[_0x4731('0x12')](_0x4d33ed);}};EmailChannel[_0x4731('0x1d')]['handleImapError']=function(_0x365363,_0x50eccc){if(this[_0x4731('0x10')][_0x365363]){this[_0x4731('0x10')][_0x365363][_0x4731('0x16')][_0x4731('0x17')]=_0x4731('0x28');this[_0x4731('0x10')][_0x365363]['Imap'][_0x4731('0x18')]=_0x50eccc;return this[_0x4731('0x12')](_0x365363);}};EmailChannel['prototype'][_0x4731('0x34')]=function(_0x5379ab,_0x4d5728){return this['smtp']['send'](_0x5379ab,_0x4d5728);};EmailChannel[_0x4731('0x1d')]['verifySmtp']=function(_0x3995da){var _0x463735=this;if(this[_0x4731('0x10')][_0x3995da['id']]){if(_['isNil'](this[_0x4731('0x10')][_0x3995da['id']][_0x4731('0x35')])){this[_0x4731('0x10')][_0x3995da['id']][_0x4731('0x35')]={};}this[_0x4731('0x10')][_0x3995da['id']][_0x4731('0x35')][_0x4731('0x33')]=moment();return new BPromise(function(_0x3d8409,_0x3957b0){return _0x463735[_0x4731('0x36')][_0x4731('0x37')](_0x3995da)[_0x4731('0x38')](function(_0xdf2a){_0x463735[_0x4731('0x10')][_0x3995da['id']]['Smtp'][_0x4731('0x17')]=_0x4731('0x39');_0x463735['mailAccounts'][_0x3995da['id']][_0x4731('0x35')][_0x4731('0x18')]='';_0x463735['emit'](_0x3995da['id']);_0x3d8409(_0xdf2a);})[_0x4731('0x3a')](function(_0x4bfaf1){_0x463735[_0x4731('0x10')][_0x3995da['id']][_0x4731('0x35')][_0x4731('0x17')]=_0x4731('0x28');_0x463735[_0x4731('0x10')][_0x3995da['id']]['Smtp'][_0x4731('0x18')]=_0x4bfaf1;_0x463735[_0x4731('0x12')](_0x3995da['id']);_0x3957b0(_0x4bfaf1);});});}return this[_0x4731('0x36')][_0x4731('0x37')](_0x3995da);};module[_0x4731('0x3b')]=EmailChannel;
\ No newline at end of file