Built motion from commit ded33658aad58fc8de845a8299a9db59a88cc353. Version 3.0.0...
[motion-next.git] / server / services / email / lib / email.js
index 3beef45..821c76a 100644 (file)
@@ -1 +1 @@
-const a1151_0x30fd=['../rpc/mailAccount','firstName','../../../config/logger','./smtp','messageStatus','imapAccounts','status','key','undefined','info','md5','mailAccounts','smtp','Mail\x20accepted\x20from\x20routing','error','lastSync','email','Smtp','handleImapBox','box','moment','active','from','messages','start\x20email\x20channel','prototype','refresh','send','Imap','bind','verify','catch','end','verified','Mail\x20not\x20accepted\x20from\x20routing\x20%s','disabled','handleImapEnd','name','handleImapEmail','isNil','stringify','handleImapError','total','emit','then'];(function(_0x5a6a05,_0x30fd7c){const _0x430176=function(_0x43480f){while(--_0x43480f){_0x5a6a05['push'](_0x5a6a05['shift']());}};_0x430176(++_0x30fd7c);}(a1151_0x30fd,0x16a));const a1151_0x4301=function(_0x5a6a05,_0x30fd7c){_0x5a6a05=_0x5a6a05-0x0;let _0x430176=a1151_0x30fd[_0x5a6a05];return _0x430176;};const _0x5ef193=a1151_0x4301;'use strict';const _=require('lodash'),moment=require(_0x5ef193('0x12')),md5=require('md5'),logger=require(_0x5ef193('0x0'))('email'),{getSocket}=require('../../../rediscache'),io=getSocket(),EmailImap=require('./imap'),EmailSmtp=require(_0x5ef193('0x1')),mailAccount=require(_0x5ef193('0x2b')),md5Accounts={};function EmailChannel(_0x43480f){const _0x3b90f0=_0x5ef193;logger[_0x3b90f0('0x7')](_0x3b90f0('0x16')),this[_0x3b90f0('0x9')]=_0x43480f[_0x3b90f0('0x9')],this[_0x3b90f0('0x3')]={},this[_0x3b90f0('0xa')]=new EmailSmtp();}EmailChannel[_0x5ef193('0x17')]['emit']=function(_0x4aafe9){const _0x17c75e=_0x5ef193,_0x7c2f2c=this[_0x17c75e('0x9')][_0x4aafe9],_0x393f0d={'id':_0x7c2f2c['id'],'name':_0x7c2f2c[_0x17c75e('0x23')],'key':_0x7c2f2c[_0x17c75e('0x5')],'active':_0x7c2f2c['active'],'Imap':{'status':_0x7c2f2c[_0x17c75e('0x1a')]['status'],'messageStatus':_0x7c2f2c[_0x17c75e('0x1a')][_0x17c75e('0x2')],'total':_0x7c2f2c[_0x17c75e('0x1a')][_0x17c75e('0x28')]}};_[_0x17c75e('0x25')](md5Accounts[_0x4aafe9])&&(md5Accounts[_0x4aafe9]={});const _0x1b7e52=md5(JSON['stringify'](_0x393f0d));md5Accounts[_0x4aafe9]['md5']!==_0x1b7e52&&(md5Accounts[_0x4aafe9][_0x17c75e('0x8')]=_0x1b7e52,io[_0x17c75e('0x29')]('mailAccount:update',_0x393f0d));},EmailChannel['prototype'][_0x5ef193('0x18')]=function(_0xc174d3){const _0x431cd6=_0x5ef193;for(const _0xd00562 in _0xc174d3){if(typeof _0xc174d3[_0xd00562]!==_0x431cd6('0x6')){if(_0xc174d3[_0xd00562][_0x431cd6('0x1a')]&&_0xc174d3[_0xd00562][_0x431cd6('0x13')]){const _0x213847=_0xc174d3[_0xd00562][_0x431cd6('0x1a')];typeof this[_0x431cd6('0x3')][_0x213847['id']]==='undefined'&&(this[_0x431cd6('0x3')][_0x213847['id']]=new EmailImap(_0x213847,_0xc174d3[_0xd00562]['email']),this[_0x431cd6('0x3')][_0x213847['id']]['on'](_0x431cd6('0x11'),this[_0x431cd6('0x10')][_0x431cd6('0x1b')](this,_0xd00562)),this[_0x431cd6('0x3')][_0x213847['id']]['on'](_0x431cd6('0xe'),this[_0x431cd6('0x24')][_0x431cd6('0x1b')](this,_0xd00562)),this['imapAccounts'][_0x213847['id']]['on'](_0x431cd6('0x1e'),this[_0x431cd6('0x22')]['bind'](this,_0xd00562)),this['imapAccounts'][_0x213847['id']]['on']('error',this[_0x431cd6('0x27')][_0x431cd6('0x1b')](this,_0xd00562)));}else _[_0x431cd6('0x25')](this[_0x431cd6('0x9')][_0xd00562]['Imap'])&&(this[_0x431cd6('0x9')][_0xd00562][_0x431cd6('0x1a')]={}),this['mailAccounts'][_0xd00562]['Imap'][_0x431cd6('0x4')]=_0x431cd6('0x21'),this[_0x431cd6('0x9')][_0xd00562]['Imap'][_0x431cd6('0x2')]='',this[_0x431cd6('0x29')](_0xd00562);}}},EmailChannel[_0x5ef193('0x17')][_0x5ef193('0x10')]=function(_0x3adbb9,_0x2441a3){const _0x5748e8=_0x5ef193;if(this[_0x5748e8('0x9')][_0x3adbb9])return this[_0x5748e8('0x9')][_0x3adbb9][_0x5748e8('0x1a')][_0x5748e8('0x4')]='connected',this[_0x5748e8('0x9')][_0x3adbb9][_0x5748e8('0x1a')][_0x5748e8('0x2')]=_0x2441a3[_0x5748e8('0x23')],_0x2441a3['messages']&&(this[_0x5748e8('0x9')][_0x3adbb9][_0x5748e8('0x1a')][_0x5748e8('0x28')]=_0x2441a3[_0x5748e8('0x15')]['total']),this[_0x5748e8('0x29')](_0x3adbb9);},EmailChannel['prototype'][_0x5ef193('0x24')]=function(_0x17ca63,_0x270601){const _0x51aff5=_0x5ef193;logger[_0x51aff5('0x7')]('New\x20email\x20from\x20%s\x20%s\x20%s\x20to\x20%s',_0x270601[_0x51aff5('0x2c')],_0x270601['lastName'],_0x270601[_0x51aff5('0x14')],_0x17ca63);if(this['mailAccounts'][_0x17ca63])return mailAccount['notify'](_0x17ca63,_0x270601)[_0x51aff5('0x2a')](function(_0x1eac12){const _0x961556=_0x51aff5;_0x1eac12&&logger[_0x961556('0x7')](_0x961556('0xb'));})[_0x51aff5('0x1d')](function(_0x1ac1ed){const _0x3b4189=_0x51aff5;logger[_0x3b4189('0xc')](_0x3b4189('0x20'),JSON[_0x3b4189('0x26')](_0x1ac1ed));});},EmailChannel[_0x5ef193('0x17')]['handleImapEnd']=function(_0x3fdd59){const _0x1df6e3=_0x5ef193;this[_0x1df6e3('0x9')][_0x3fdd59]&&this[_0x1df6e3('0x9')][_0x3fdd59][_0x1df6e3('0x1a')]&&(this['imapAccounts'][this['mailAccounts'][_0x3fdd59][_0x1df6e3('0x1a')]['id']]&&delete this[_0x1df6e3('0x3')][this[_0x1df6e3('0x9')][_0x3fdd59][_0x1df6e3('0x1a')]['id']],this[_0x1df6e3('0x9')][_0x3fdd59]['Imap'][_0x1df6e3('0xd')]=moment(),this[_0x1df6e3('0x29')](_0x3fdd59));},EmailChannel[_0x5ef193('0x17')][_0x5ef193('0x27')]=function(_0x32bdc7,_0x37b089){const _0x9c84b1=_0x5ef193;if(this[_0x9c84b1('0x9')][_0x32bdc7])return this[_0x9c84b1('0x9')][_0x32bdc7][_0x9c84b1('0x1a')]['status']='error',this[_0x9c84b1('0x9')][_0x32bdc7][_0x9c84b1('0x1a')][_0x9c84b1('0x2')]=_0x37b089,this[_0x9c84b1('0x29')](_0x32bdc7);},EmailChannel[_0x5ef193('0x17')]['sendMail']=function(_0xfde541,_0x50018c){const _0x329070=_0x5ef193;return this['smtp'][_0x329070('0x19')](_0xfde541,_0x50018c);},EmailChannel['prototype']['verifySmtp']=function(_0x3f25cc){const _0xc818a8=_0x5ef193,_0x4a49a9=this;if(this[_0xc818a8('0x9')][_0x3f25cc['id']])return _[_0xc818a8('0x25')](this[_0xc818a8('0x9')][_0x3f25cc['id']][_0xc818a8('0xf')])&&(this[_0xc818a8('0x9')][_0x3f25cc['id']][_0xc818a8('0xf')]={}),this[_0xc818a8('0x9')][_0x3f25cc['id']][_0xc818a8('0xf')][_0xc818a8('0xd')]=moment(),new Promise(function(_0x1600af,_0x2257de){const _0x5c1e52=_0xc818a8;return _0x4a49a9[_0x5c1e52('0xa')]['verify'](_0x3f25cc)['then'](function(_0x590213){const _0x2ad04c=_0x5c1e52;_0x4a49a9['mailAccounts'][_0x3f25cc['id']][_0x2ad04c('0xf')]['status']=_0x2ad04c('0x1f'),_0x4a49a9[_0x2ad04c('0x9')][_0x3f25cc['id']][_0x2ad04c('0xf')][_0x2ad04c('0x2')]='',_0x4a49a9[_0x2ad04c('0x29')](_0x3f25cc['id']),_0x1600af(_0x590213);})[_0x5c1e52('0x1d')](function(_0x38def0){const _0x2e036b=_0x5c1e52;_0x4a49a9[_0x2e036b('0x9')][_0x3f25cc['id']][_0x2e036b('0xf')][_0x2e036b('0x4')]='error',_0x4a49a9[_0x2e036b('0x9')][_0x3f25cc['id']]['Smtp'][_0x2e036b('0x2')]=_0x38def0,_0x4a49a9[_0x2e036b('0x29')](_0x3f25cc['id']),_0x2257de(_0x38def0);});});return this[_0xc818a8('0xa')][_0xc818a8('0x1c')](_0x3f25cc);},module['exports']=EmailChannel;
\ No newline at end of file
+const a1151_0xd523=['mailAccounts','stringify','handleImapEnd','Imap','handleImapError','messages','emit','verified','firstName','lastSync','then','verify','messageStatus','box','send','lastName','name','bind','start\x20email\x20channel','moment','./smtp','isNil','Smtp','disabled','undefined','active','md5','total','catch','exports','verifySmtp','Mail\x20accepted\x20from\x20routing','from','smtp','email','key','prototype','../../../rediscache','imapAccounts','handleImapBox','error','handleImapEmail','connected','status','info','lodash'];(function(_0xc61da5,_0xd5231f){const _0x4aeb3f=function(_0x5686a0){while(--_0x5686a0){_0xc61da5['push'](_0xc61da5['shift']());}};_0x4aeb3f(++_0xd5231f);}(a1151_0xd523,0xf2));const a1151_0x4aeb=function(_0xc61da5,_0xd5231f){_0xc61da5=_0xc61da5-0x0;let _0x4aeb3f=a1151_0xd523[_0xc61da5];return _0x4aeb3f;};const _0x127915=a1151_0x4aeb;'use strict';const _=require(_0x127915('0x21')),moment=require(_0x127915('0x7')),md5=require(_0x127915('0xe')),logger=require('../../../config/logger')(_0x127915('0x16')),{getSocket}=require(_0x127915('0x19')),io=getSocket(),EmailImap=require('./imap'),EmailSmtp=require(_0x127915('0x8')),mailAccount=require('../rpc/mailAccount'),md5Accounts={};function EmailChannel(_0x5686a0){const _0x5f2dea=_0x127915;logger['info'](_0x5f2dea('0x6')),this[_0x5f2dea('0x22')]=_0x5686a0['mailAccounts'],this[_0x5f2dea('0x1a')]={},this[_0x5f2dea('0x15')]=new EmailSmtp();}EmailChannel[_0x127915('0x18')][_0x127915('0x28')]=function(_0x39a3aa){const _0x2f439c=_0x127915,_0x36311a=this['mailAccounts'][_0x39a3aa],_0x21ce3a={'id':_0x36311a['id'],'name':_0x36311a[_0x2f439c('0x4')],'key':_0x36311a[_0x2f439c('0x17')],'active':_0x36311a['active'],'Imap':{'status':_0x36311a[_0x2f439c('0x25')]['status'],'messageStatus':_0x36311a[_0x2f439c('0x25')][_0x2f439c('0x0')],'total':_0x36311a[_0x2f439c('0x25')][_0x2f439c('0xf')]}};_[_0x2f439c('0x9')](md5Accounts[_0x39a3aa])&&(md5Accounts[_0x39a3aa]={});const _0x3b9f3b=md5(JSON[_0x2f439c('0x23')](_0x21ce3a));md5Accounts[_0x39a3aa][_0x2f439c('0xe')]!==_0x3b9f3b&&(md5Accounts[_0x39a3aa][_0x2f439c('0xe')]=_0x3b9f3b,io[_0x2f439c('0x28')]('mailAccount:update',_0x21ce3a));},EmailChannel[_0x127915('0x18')]['refresh']=function(_0x4d82f6){const _0x5c7d21=_0x127915;for(const _0x592881 in _0x4d82f6){if(typeof _0x4d82f6[_0x592881]!==_0x5c7d21('0xc')){if(_0x4d82f6[_0x592881][_0x5c7d21('0x25')]&&_0x4d82f6[_0x592881][_0x5c7d21('0xd')]){const _0x5e76af=_0x4d82f6[_0x592881][_0x5c7d21('0x25')];typeof this['imapAccounts'][_0x5e76af['id']]==='undefined'&&(this['imapAccounts'][_0x5e76af['id']]=new EmailImap(_0x5e76af,_0x4d82f6[_0x592881]['email']),this[_0x5c7d21('0x1a')][_0x5e76af['id']]['on'](_0x5c7d21('0x1'),this[_0x5c7d21('0x1b')][_0x5c7d21('0x5')](this,_0x592881)),this['imapAccounts'][_0x5e76af['id']]['on'](_0x5c7d21('0x16'),this[_0x5c7d21('0x1d')][_0x5c7d21('0x5')](this,_0x592881)),this[_0x5c7d21('0x1a')][_0x5e76af['id']]['on']('end',this[_0x5c7d21('0x24')][_0x5c7d21('0x5')](this,_0x592881)),this[_0x5c7d21('0x1a')][_0x5e76af['id']]['on']('error',this[_0x5c7d21('0x26')]['bind'](this,_0x592881)));}else _[_0x5c7d21('0x9')](this['mailAccounts'][_0x592881][_0x5c7d21('0x25')])&&(this[_0x5c7d21('0x22')][_0x592881][_0x5c7d21('0x25')]={}),this[_0x5c7d21('0x22')][_0x592881][_0x5c7d21('0x25')][_0x5c7d21('0x1f')]=_0x5c7d21('0xb'),this[_0x5c7d21('0x22')][_0x592881][_0x5c7d21('0x25')][_0x5c7d21('0x0')]='',this[_0x5c7d21('0x28')](_0x592881);}}},EmailChannel[_0x127915('0x18')][_0x127915('0x1b')]=function(_0x271178,_0x3309e2){const _0x427588=_0x127915;if(this[_0x427588('0x22')][_0x271178])return this[_0x427588('0x22')][_0x271178][_0x427588('0x25')][_0x427588('0x1f')]=_0x427588('0x1e'),this[_0x427588('0x22')][_0x271178]['Imap'][_0x427588('0x0')]=_0x3309e2[_0x427588('0x4')],_0x3309e2[_0x427588('0x27')]&&(this[_0x427588('0x22')][_0x271178][_0x427588('0x25')]['total']=_0x3309e2[_0x427588('0x27')][_0x427588('0xf')]),this['emit'](_0x271178);},EmailChannel[_0x127915('0x18')][_0x127915('0x1d')]=function(_0x49f7a7,_0x112448){const _0x21e681=_0x127915;logger['info']('New\x20email\x20from\x20%s\x20%s\x20%s\x20to\x20%s',_0x112448[_0x21e681('0x2a')],_0x112448[_0x21e681('0x3')],_0x112448[_0x21e681('0x14')],_0x49f7a7);if(this[_0x21e681('0x22')][_0x49f7a7])return mailAccount['notify'](_0x49f7a7,_0x112448)[_0x21e681('0x2c')](function(_0x27f8f4){const _0x4b68d3=_0x21e681;_0x27f8f4&&logger[_0x4b68d3('0x20')](_0x4b68d3('0x13'));})[_0x21e681('0x10')](function(_0x9abef1){const _0x475503=_0x21e681;logger[_0x475503('0x1c')]('Mail\x20not\x20accepted\x20from\x20routing\x20%s',JSON['stringify'](_0x9abef1));});},EmailChannel['prototype'][_0x127915('0x24')]=function(_0x50af74){const _0x2876fa=_0x127915;this[_0x2876fa('0x22')][_0x50af74]&&this[_0x2876fa('0x22')][_0x50af74][_0x2876fa('0x25')]&&(this['imapAccounts'][this['mailAccounts'][_0x50af74][_0x2876fa('0x25')]['id']]&&delete this[_0x2876fa('0x1a')][this['mailAccounts'][_0x50af74][_0x2876fa('0x25')]['id']],this[_0x2876fa('0x22')][_0x50af74][_0x2876fa('0x25')][_0x2876fa('0x2b')]=moment(),this[_0x2876fa('0x28')](_0x50af74));},EmailChannel[_0x127915('0x18')]['handleImapError']=function(_0x505b22,_0x42c8e8){const _0x1f2669=_0x127915;if(this[_0x1f2669('0x22')][_0x505b22])return this[_0x1f2669('0x22')][_0x505b22][_0x1f2669('0x25')]['status']='error',this[_0x1f2669('0x22')][_0x505b22][_0x1f2669('0x25')][_0x1f2669('0x0')]=_0x42c8e8,this['emit'](_0x505b22);},EmailChannel[_0x127915('0x18')]['sendMail']=function(_0x4a4167,_0x18e247){const _0x1ba895=_0x127915;return this[_0x1ba895('0x15')][_0x1ba895('0x2')](_0x4a4167,_0x18e247);},EmailChannel[_0x127915('0x18')][_0x127915('0x12')]=function(_0x589785){const _0x2753ce=_0x127915,_0x519280=this;if(this[_0x2753ce('0x22')][_0x589785['id']])return _[_0x2753ce('0x9')](this[_0x2753ce('0x22')][_0x589785['id']]['Smtp'])&&(this[_0x2753ce('0x22')][_0x589785['id']]['Smtp']={}),this['mailAccounts'][_0x589785['id']][_0x2753ce('0xa')][_0x2753ce('0x2b')]=moment(),new Promise(function(_0x1549e8,_0x226720){const _0x4f5ad4=_0x2753ce;return _0x519280['smtp']['verify'](_0x589785)[_0x4f5ad4('0x2c')](function(_0x27e1d3){const _0x3bf164=_0x4f5ad4;_0x519280[_0x3bf164('0x22')][_0x589785['id']][_0x3bf164('0xa')]['status']=_0x3bf164('0x29'),_0x519280[_0x3bf164('0x22')][_0x589785['id']][_0x3bf164('0xa')][_0x3bf164('0x0')]='',_0x519280[_0x3bf164('0x28')](_0x589785['id']),_0x1549e8(_0x27e1d3);})['catch'](function(_0x3e8e1a){const _0x21a122=_0x4f5ad4;_0x519280[_0x21a122('0x22')][_0x589785['id']][_0x21a122('0xa')][_0x21a122('0x1f')]=_0x21a122('0x1c'),_0x519280['mailAccounts'][_0x589785['id']]['Smtp'][_0x21a122('0x0')]=_0x3e8e1a,_0x519280[_0x21a122('0x28')](_0x589785['id']),_0x226720(_0x3e8e1a);});});return this[_0x2753ce('0x15')][_0x2753ce('0x2d')](_0x589785);},module[_0x127915('0x11')]=EmailChannel;
\ No newline at end of file