Built motion from commit 9d0783e6.|2.6.13
[motion2.git] / server / services / email / lib / email.js
index c673a75..c445856 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x4159=['send','verifySmtp','Smtp','lastSync','verified','verify','exports','lodash','moment','bluebird','../../../config/environment','../../../config/logger','defaults','localhost','socket.io-emitter','redis','./imap','start\x20email\x20channel','mailAccounts','imapAccounts','smtp','emit','key','active','Imap','status','messageStatus','total','isNil','md5','mailAccount:update','refresh','hasOwnProperty','service','provider','custom','email','box','handleImapBox','bind','handleImapEmail','handleImapEnd','error','handleImapError','disabled','prototype','connected','name','messages','info','lastName','from','notify','then','Mail\x20accepted\x20from\x20routing','catch','Mail\x20not\x20accepted\x20from\x20routing\x20%s','stringify','sendMail'];(function(_0x104e21,_0x2ea86f){var _0x605b37=function(_0x580fce){while(--_0x580fce){_0x104e21['push'](_0x104e21['shift']());}};_0x605b37(++_0x2ea86f);}(_0x4159,0xf3));var _0x9415=function(_0x42da4d,_0x2a26b3){_0x42da4d=_0x42da4d-0x0;var _0x206cc0=_0x4159[_0x42da4d];return _0x206cc0;};'use strict';var _=require(_0x9415('0x0'));var moment=require(_0x9415('0x1'));var BPromise=require(_0x9415('0x2'));var md5=require('md5');var Redis=require('ioredis');var config=require(_0x9415('0x3'));var logger=require(_0x9415('0x4'))('email');config['redis']=_[_0x9415('0x5')](config['redis'],{'host':_0x9415('0x6'),'port':0x18eb});var io=require(_0x9415('0x7'))(new Redis(config[_0x9415('0x8')]));var EmailImap=require(_0x9415('0x9'));var EmailSmtp=require('./smtp');var mailAccount=require('../rpc/mailAccount');var md5Accounts={};function EmailChannel(_0x1eeaaf){logger['info'](_0x9415('0xa'));this[_0x9415('0xb')]=_0x1eeaaf[_0x9415('0xb')];this[_0x9415('0xc')]={};this[_0x9415('0xd')]=new EmailSmtp();}EmailChannel['prototype'][_0x9415('0xe')]=function(_0x4e0826){var _0x573661=this[_0x9415('0xb')][_0x4e0826];var _0x4fdd5d={'id':_0x573661['id'],'name':_0x573661['name'],'key':_0x573661[_0x9415('0xf')],'active':_0x573661[_0x9415('0x10')],'Imap':{'status':_0x573661[_0x9415('0x11')][_0x9415('0x12')],'messageStatus':_0x573661['Imap'][_0x9415('0x13')],'total':_0x573661[_0x9415('0x11')][_0x9415('0x14')]}};if(_[_0x9415('0x15')](md5Accounts[_0x4e0826])){md5Accounts[_0x4e0826]={};}var _0x490422=md5(JSON['stringify'](_0x4fdd5d));if(md5Accounts[_0x4e0826][_0x9415('0x16')]!==_0x490422){md5Accounts[_0x4e0826][_0x9415('0x16')]=_0x490422;io[_0x9415('0xe')](_0x9415('0x17'),_0x4fdd5d);}};EmailChannel['prototype'][_0x9415('0x18')]=function(_0x34ab03){for(var _0x54226d in _0x34ab03){if(_0x34ab03[_0x9415('0x19')](_0x54226d)){if(_0x34ab03[_0x54226d][_0x9415('0x11')]&&_0x34ab03[_0x54226d][_0x9415('0x10')]){var _0x4a0f7f=_0x34ab03[_0x54226d][_0x9415('0x11')];if(!_0x4a0f7f[_0x9415('0x1a')]&&_0x34ab03[_0x54226d][_0x9415('0x1b')]!==_0x9415('0x1c'))_0x4a0f7f['service']=_0x34ab03[_0x54226d]['provider'];if(!this['imapAccounts'][_0x9415('0x19')](_0x4a0f7f['id'])){this[_0x9415('0xc')][_0x4a0f7f['id']]=new EmailImap(_0x4a0f7f,_0x34ab03[_0x54226d][_0x9415('0x1d')]);this[_0x9415('0xc')][_0x4a0f7f['id']]['on'](_0x9415('0x1e'),this[_0x9415('0x1f')][_0x9415('0x20')](this,_0x54226d));this[_0x9415('0xc')][_0x4a0f7f['id']]['on'](_0x9415('0x1d'),this[_0x9415('0x21')][_0x9415('0x20')](this,_0x54226d));this[_0x9415('0xc')][_0x4a0f7f['id']]['on']('end',this[_0x9415('0x22')]['bind'](this,_0x54226d));this[_0x9415('0xc')][_0x4a0f7f['id']]['on'](_0x9415('0x23'),this[_0x9415('0x24')]['bind'](this,_0x54226d));}}else{if(_[_0x9415('0x15')](this[_0x9415('0xb')][_0x54226d][_0x9415('0x11')])){this[_0x9415('0xb')][_0x54226d][_0x9415('0x11')]={};}this[_0x9415('0xb')][_0x54226d][_0x9415('0x11')][_0x9415('0x12')]=_0x9415('0x25');this[_0x9415('0xb')][_0x54226d][_0x9415('0x11')][_0x9415('0x13')]='';this[_0x9415('0xe')](_0x54226d);}}}};EmailChannel[_0x9415('0x26')]['handleImapBox']=function(_0x395928,_0x567891){if(this[_0x9415('0xb')][_0x395928]){this['mailAccounts'][_0x395928][_0x9415('0x11')]['status']=_0x9415('0x27');this['mailAccounts'][_0x395928][_0x9415('0x11')]['messageStatus']=_0x567891[_0x9415('0x28')];if(_0x567891[_0x9415('0x29')]){this[_0x9415('0xb')][_0x395928]['Imap'][_0x9415('0x14')]=_0x567891['messages'][_0x9415('0x14')];}return this[_0x9415('0xe')](_0x395928);}};EmailChannel[_0x9415('0x26')][_0x9415('0x21')]=function(_0x446ca2,_0x2a4170){logger[_0x9415('0x2a')]('New\x20email\x20from\x20%s\x20%s\x20%s\x20to\x20%s',_0x2a4170['firstName'],_0x2a4170[_0x9415('0x2b')],_0x2a4170[_0x9415('0x2c')],_0x446ca2);if(this['mailAccounts'][_0x446ca2]){return mailAccount[_0x9415('0x2d')](_0x446ca2,_0x2a4170)[_0x9415('0x2e')](function(_0x55012d){if(_0x55012d){logger[_0x9415('0x2a')](_0x9415('0x2f'));}})[_0x9415('0x30')](function(_0x38239c){logger['error'](_0x9415('0x31'),JSON[_0x9415('0x32')](_0x38239c));});}};EmailChannel['prototype'][_0x9415('0x22')]=function(_0x8af61d){if(this['mailAccounts'][_0x8af61d]&&this[_0x9415('0xb')][_0x8af61d][_0x9415('0x11')]){if(this[_0x9415('0xc')][this[_0x9415('0xb')][_0x8af61d][_0x9415('0x11')]['id']]){delete this[_0x9415('0xc')][this[_0x9415('0xb')][_0x8af61d][_0x9415('0x11')]['id']];}this[_0x9415('0xb')][_0x8af61d][_0x9415('0x11')]['lastSync']=moment();this[_0x9415('0xe')](_0x8af61d);}};EmailChannel[_0x9415('0x26')][_0x9415('0x24')]=function(_0x2362ae,_0x5f5471){if(this[_0x9415('0xb')][_0x2362ae]){this[_0x9415('0xb')][_0x2362ae][_0x9415('0x11')][_0x9415('0x12')]=_0x9415('0x23');this[_0x9415('0xb')][_0x2362ae]['Imap']['messageStatus']=_0x5f5471;return this[_0x9415('0xe')](_0x2362ae);}};EmailChannel[_0x9415('0x26')][_0x9415('0x33')]=function(_0x1ceac7,_0x4a421e){return this[_0x9415('0xd')][_0x9415('0x34')](_0x1ceac7,_0x4a421e);};EmailChannel[_0x9415('0x26')][_0x9415('0x35')]=function(_0x271165){var _0x11c963=this;if(this[_0x9415('0xb')][_0x271165['id']]){if(_[_0x9415('0x15')](this[_0x9415('0xb')][_0x271165['id']][_0x9415('0x36')])){this['mailAccounts'][_0x271165['id']][_0x9415('0x36')]={};}this[_0x9415('0xb')][_0x271165['id']][_0x9415('0x36')][_0x9415('0x37')]=moment();return new BPromise(function(_0x5e146f,_0x518230){return _0x11c963[_0x9415('0xd')]['verify'](_0x271165)[_0x9415('0x2e')](function(_0x5d8a5c){_0x11c963['mailAccounts'][_0x271165['id']][_0x9415('0x36')][_0x9415('0x12')]=_0x9415('0x38');_0x11c963[_0x9415('0xb')][_0x271165['id']]['Smtp'][_0x9415('0x13')]='';_0x11c963[_0x9415('0xe')](_0x271165['id']);_0x5e146f(_0x5d8a5c);})[_0x9415('0x30')](function(_0x28a6db){_0x11c963['mailAccounts'][_0x271165['id']][_0x9415('0x36')][_0x9415('0x12')]=_0x9415('0x23');_0x11c963[_0x9415('0xb')][_0x271165['id']]['Smtp']['messageStatus']=_0x28a6db;_0x11c963[_0x9415('0xe')](_0x271165['id']);_0x518230(_0x28a6db);});});}return this['smtp'][_0x9415('0x39')](_0x271165);};module[_0x9415('0x3a')]=EmailChannel;
\ No newline at end of file
+var _0xc2be=['total','isNil','stringify','mailAccount:update','prototype','hasOwnProperty','active','service','custom','provider','email','box','handleImapBox','bind','handleImapEmail','end','handleImapEnd','error','handleImapError','disabled','messageStatus','status','messages','firstName','lastName','from','notify','then','info','Mail\x20accepted\x20from\x20routing','catch','Mail\x20not\x20accepted\x20from\x20routing\x20%s','sendMail','send','verifySmtp','Smtp','lastSync','verify','exports','lodash','moment','bluebird','md5','ioredis','../../../config/environment','../../../config/logger','defaults','redis','localhost','socket.io-emitter','./imap','./smtp','../rpc/mailAccount','mailAccounts','imapAccounts','smtp','emit','name','Imap'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xc2be,0xd8));var _0xec2b=function(_0x15c068,_0x441624){_0x15c068=_0x15c068-0x0;var _0x369daf=_0xc2be[_0x15c068];return _0x369daf;};'use strict';var _=require(_0xec2b('0x0'));var moment=require(_0xec2b('0x1'));var BPromise=require(_0xec2b('0x2'));var md5=require(_0xec2b('0x3'));var Redis=require(_0xec2b('0x4'));var config=require(_0xec2b('0x5'));var logger=require(_0xec2b('0x6'))('email');config['redis']=_[_0xec2b('0x7')](config[_0xec2b('0x8')],{'host':_0xec2b('0x9'),'port':0x18eb});var io=require(_0xec2b('0xa'))(new Redis(config[_0xec2b('0x8')]));var EmailImap=require(_0xec2b('0xb'));var EmailSmtp=require(_0xec2b('0xc'));var mailAccount=require(_0xec2b('0xd'));var md5Accounts={};function EmailChannel(_0x3c5a77){logger['info']('start\x20email\x20channel');this[_0xec2b('0xe')]=_0x3c5a77[_0xec2b('0xe')];this[_0xec2b('0xf')]={};this[_0xec2b('0x10')]=new EmailSmtp();}EmailChannel['prototype'][_0xec2b('0x11')]=function(_0x87f81c){var _0x23cdea=this[_0xec2b('0xe')][_0x87f81c];var _0x718aa2={'id':_0x23cdea['id'],'name':_0x23cdea[_0xec2b('0x12')],'key':_0x23cdea['key'],'active':_0x23cdea['active'],'Imap':{'status':_0x23cdea['Imap']['status'],'messageStatus':_0x23cdea['Imap']['messageStatus'],'total':_0x23cdea[_0xec2b('0x13')][_0xec2b('0x14')]}};if(_[_0xec2b('0x15')](md5Accounts[_0x87f81c])){md5Accounts[_0x87f81c]={};}var _0x5495e0=md5(JSON[_0xec2b('0x16')](_0x718aa2));if(md5Accounts[_0x87f81c][_0xec2b('0x3')]!==_0x5495e0){md5Accounts[_0x87f81c][_0xec2b('0x3')]=_0x5495e0;io['emit'](_0xec2b('0x17'),_0x718aa2);}};EmailChannel[_0xec2b('0x18')]['refresh']=function(_0x544121){for(var _0x14c098 in _0x544121){if(_0x544121[_0xec2b('0x19')](_0x14c098)){if(_0x544121[_0x14c098]['Imap']&&_0x544121[_0x14c098][_0xec2b('0x1a')]){var _0x3057ee=_0x544121[_0x14c098][_0xec2b('0x13')];if(!_0x3057ee[_0xec2b('0x1b')]&&_0x544121[_0x14c098]['provider']!==_0xec2b('0x1c'))_0x3057ee[_0xec2b('0x1b')]=_0x544121[_0x14c098][_0xec2b('0x1d')];if(!this[_0xec2b('0xf')][_0xec2b('0x19')](_0x3057ee['id'])){this['imapAccounts'][_0x3057ee['id']]=new EmailImap(_0x3057ee,_0x544121[_0x14c098][_0xec2b('0x1e')]);this[_0xec2b('0xf')][_0x3057ee['id']]['on'](_0xec2b('0x1f'),this[_0xec2b('0x20')][_0xec2b('0x21')](this,_0x14c098));this[_0xec2b('0xf')][_0x3057ee['id']]['on'](_0xec2b('0x1e'),this[_0xec2b('0x22')]['bind'](this,_0x14c098));this[_0xec2b('0xf')][_0x3057ee['id']]['on'](_0xec2b('0x23'),this[_0xec2b('0x24')][_0xec2b('0x21')](this,_0x14c098));this['imapAccounts'][_0x3057ee['id']]['on'](_0xec2b('0x25'),this[_0xec2b('0x26')][_0xec2b('0x21')](this,_0x14c098));}}else{if(_['isNil'](this[_0xec2b('0xe')][_0x14c098]['Imap'])){this[_0xec2b('0xe')][_0x14c098][_0xec2b('0x13')]={};}this['mailAccounts'][_0x14c098][_0xec2b('0x13')]['status']=_0xec2b('0x27');this[_0xec2b('0xe')][_0x14c098][_0xec2b('0x13')][_0xec2b('0x28')]='';this[_0xec2b('0x11')](_0x14c098);}}}};EmailChannel[_0xec2b('0x18')][_0xec2b('0x20')]=function(_0xd51cb9,_0x21d9de){if(this[_0xec2b('0xe')][_0xd51cb9]){this[_0xec2b('0xe')][_0xd51cb9]['Imap'][_0xec2b('0x29')]='connected';this[_0xec2b('0xe')][_0xd51cb9][_0xec2b('0x13')][_0xec2b('0x28')]=_0x21d9de[_0xec2b('0x12')];if(_0x21d9de[_0xec2b('0x2a')]){this[_0xec2b('0xe')][_0xd51cb9][_0xec2b('0x13')][_0xec2b('0x14')]=_0x21d9de[_0xec2b('0x2a')][_0xec2b('0x14')];}return this[_0xec2b('0x11')](_0xd51cb9);}};EmailChannel[_0xec2b('0x18')]['handleImapEmail']=function(_0x81d6fb,_0x3e9376){logger['info']('New\x20email\x20from\x20%s\x20%s\x20%s\x20to\x20%s',_0x3e9376[_0xec2b('0x2b')],_0x3e9376[_0xec2b('0x2c')],_0x3e9376[_0xec2b('0x2d')],_0x81d6fb);if(this[_0xec2b('0xe')][_0x81d6fb]){return mailAccount[_0xec2b('0x2e')](_0x81d6fb,_0x3e9376)[_0xec2b('0x2f')](function(_0x26ee77){if(_0x26ee77){logger[_0xec2b('0x30')](_0xec2b('0x31'));}})[_0xec2b('0x32')](function(_0x5a88d7){logger[_0xec2b('0x25')](_0xec2b('0x33'),JSON['stringify'](_0x5a88d7));});}};EmailChannel[_0xec2b('0x18')]['handleImapEnd']=function(_0x2655c7){if(this['mailAccounts'][_0x2655c7]&&this[_0xec2b('0xe')][_0x2655c7][_0xec2b('0x13')]){if(this[_0xec2b('0xf')][this[_0xec2b('0xe')][_0x2655c7][_0xec2b('0x13')]['id']]){delete this[_0xec2b('0xf')][this['mailAccounts'][_0x2655c7][_0xec2b('0x13')]['id']];}this[_0xec2b('0xe')][_0x2655c7][_0xec2b('0x13')]['lastSync']=moment();this[_0xec2b('0x11')](_0x2655c7);}};EmailChannel[_0xec2b('0x18')]['handleImapError']=function(_0x3033bc,_0xafb83c){if(this[_0xec2b('0xe')][_0x3033bc]){this['mailAccounts'][_0x3033bc]['Imap'][_0xec2b('0x29')]=_0xec2b('0x25');this[_0xec2b('0xe')][_0x3033bc]['Imap'][_0xec2b('0x28')]=_0xafb83c;return this[_0xec2b('0x11')](_0x3033bc);}};EmailChannel[_0xec2b('0x18')][_0xec2b('0x34')]=function(_0x1ab178,_0x2820ff){return this[_0xec2b('0x10')][_0xec2b('0x35')](_0x1ab178,_0x2820ff);};EmailChannel['prototype'][_0xec2b('0x36')]=function(_0x5c661b){var _0x4b9fc1=this;if(this[_0xec2b('0xe')][_0x5c661b['id']]){if(_[_0xec2b('0x15')](this[_0xec2b('0xe')][_0x5c661b['id']][_0xec2b('0x37')])){this[_0xec2b('0xe')][_0x5c661b['id']][_0xec2b('0x37')]={};}this[_0xec2b('0xe')][_0x5c661b['id']][_0xec2b('0x37')][_0xec2b('0x38')]=moment();return new BPromise(function(_0x58367a,_0x73fabd){return _0x4b9fc1[_0xec2b('0x10')][_0xec2b('0x39')](_0x5c661b)[_0xec2b('0x2f')](function(_0x41a28c){_0x4b9fc1[_0xec2b('0xe')][_0x5c661b['id']]['Smtp']['status']='verified';_0x4b9fc1[_0xec2b('0xe')][_0x5c661b['id']]['Smtp']['messageStatus']='';_0x4b9fc1[_0xec2b('0x11')](_0x5c661b['id']);_0x58367a(_0x41a28c);})[_0xec2b('0x32')](function(_0x38405d){_0x4b9fc1[_0xec2b('0xe')][_0x5c661b['id']]['Smtp'][_0xec2b('0x29')]='error';_0x4b9fc1['mailAccounts'][_0x5c661b['id']][_0xec2b('0x37')][_0xec2b('0x28')]=_0x38405d;_0x4b9fc1[_0xec2b('0x11')](_0x5c661b['id']);_0x73fabd(_0x38405d);});});}return this[_0xec2b('0x10')][_0xec2b('0x39')](_0x5c661b);};module[_0xec2b('0x3a')]=EmailChannel;
\ No newline at end of file