Built motion from commit be44e1e4d16f8b29d243415b03d27262d8601e0e. Version 3.0.0...
[motion-next.git] / server / services / email / lib / email.js
1 const a1151_0x2c10=['messageStatus','info','../../../rediscache','error','lastSync','md5','prototype','./smtp','../../../config/logger','handleImapError','then','smtp','verified','lastName','notify','imapAccounts','disabled','firstName','from','emit','messages','sendMail','active','bind','./imap','email','total','Imap','Mail\x20not\x20accepted\x20from\x20routing\x20%s','isNil','status','key','handleImapBox','verifySmtp','name','mailAccounts','../rpc/mailAccount','handleImapEmail','refresh','undefined','verify','start\x20email\x20channel','Smtp','New\x20email\x20from\x20%s\x20%s\x20%s\x20to\x20%s','box','handleImapEnd','catch'];(function(_0x450b72,_0x2c1086){const _0x1f340e=function(_0x99d5e9){while(--_0x99d5e9){_0x450b72['push'](_0x450b72['shift']());}};_0x1f340e(++_0x2c1086);}(a1151_0x2c10,0x11c));const a1151_0x1f34=function(_0x450b72,_0x2c1086){_0x450b72=_0x450b72-0x0;let _0x1f340e=a1151_0x2c10[_0x450b72];return _0x1f340e;};const _0x4c8128=a1151_0x1f34;'use strict';const _=require('lodash'),moment=require('moment'),md5=require(_0x4c8128('0x3')),logger=require(_0x4c8128('0x6'))('email'),{getSocket}=require(_0x4c8128('0x0')),io=getSocket(),EmailImap=require(_0x4c8128('0x16')),EmailSmtp=require(_0x4c8128('0x5')),mailAccount=require(_0x4c8128('0x22')),md5Accounts={};function EmailChannel(_0x99d5e9){const _0x3bda47=_0x4c8128;logger[_0x3bda47('0x2e')](_0x3bda47('0x27')),this[_0x3bda47('0x21')]=_0x99d5e9['mailAccounts'],this[_0x3bda47('0xd')]={},this[_0x3bda47('0x9')]=new EmailSmtp();}EmailChannel[_0x4c8128('0x4')][_0x4c8128('0x11')]=function(_0x256e38){const _0x2e00a6=_0x4c8128,_0x2c4ac0=this[_0x2e00a6('0x21')][_0x256e38],_0x5f3509={'id':_0x2c4ac0['id'],'name':_0x2c4ac0[_0x2e00a6('0x20')],'key':_0x2c4ac0[_0x2e00a6('0x1d')],'active':_0x2c4ac0[_0x2e00a6('0x14')],'Imap':{'status':_0x2c4ac0['Imap'][_0x2e00a6('0x1c')],'messageStatus':_0x2c4ac0[_0x2e00a6('0x19')][_0x2e00a6('0x2d')],'total':_0x2c4ac0['Imap'][_0x2e00a6('0x18')]}};_[_0x2e00a6('0x1b')](md5Accounts[_0x256e38])&&(md5Accounts[_0x256e38]={});const _0x1ae8d8=md5(JSON['stringify'](_0x5f3509));md5Accounts[_0x256e38]['md5']!==_0x1ae8d8&&(md5Accounts[_0x256e38]['md5']=_0x1ae8d8,io[_0x2e00a6('0x11')]('mailAccount:update',_0x5f3509));},EmailChannel[_0x4c8128('0x4')][_0x4c8128('0x24')]=function(_0x42c45e){const _0x464f05=_0x4c8128;for(const _0x3f2b56 in _0x42c45e){if(typeof _0x42c45e[_0x3f2b56]!=='undefined'){if(_0x42c45e[_0x3f2b56][_0x464f05('0x19')]&&_0x42c45e[_0x3f2b56]['active']){const _0x4b2123=_0x42c45e[_0x3f2b56][_0x464f05('0x19')];typeof this[_0x464f05('0xd')][_0x4b2123['id']]===_0x464f05('0x25')&&(this[_0x464f05('0xd')][_0x4b2123['id']]=new EmailImap(_0x4b2123,_0x42c45e[_0x3f2b56][_0x464f05('0x17')]),this[_0x464f05('0xd')][_0x4b2123['id']]['on'](_0x464f05('0x2a'),this[_0x464f05('0x1e')]['bind'](this,_0x3f2b56)),this[_0x464f05('0xd')][_0x4b2123['id']]['on'](_0x464f05('0x17'),this[_0x464f05('0x23')]['bind'](this,_0x3f2b56)),this['imapAccounts'][_0x4b2123['id']]['on']('end',this[_0x464f05('0x2b')][_0x464f05('0x15')](this,_0x3f2b56)),this['imapAccounts'][_0x4b2123['id']]['on']('error',this[_0x464f05('0x7')]['bind'](this,_0x3f2b56)));}else _[_0x464f05('0x1b')](this['mailAccounts'][_0x3f2b56][_0x464f05('0x19')])&&(this[_0x464f05('0x21')][_0x3f2b56][_0x464f05('0x19')]={}),this[_0x464f05('0x21')][_0x3f2b56]['Imap']['status']=_0x464f05('0xe'),this[_0x464f05('0x21')][_0x3f2b56]['Imap']['messageStatus']='',this[_0x464f05('0x11')](_0x3f2b56);}}},EmailChannel['prototype']['handleImapBox']=function(_0x186a25,_0x4428e7){const _0x57b92d=_0x4c8128;if(this['mailAccounts'][_0x186a25])return this[_0x57b92d('0x21')][_0x186a25][_0x57b92d('0x19')]['status']='connected',this[_0x57b92d('0x21')][_0x186a25][_0x57b92d('0x19')]['messageStatus']=_0x4428e7[_0x57b92d('0x20')],_0x4428e7[_0x57b92d('0x12')]&&(this[_0x57b92d('0x21')][_0x186a25]['Imap'][_0x57b92d('0x18')]=_0x4428e7[_0x57b92d('0x12')]['total']),this['emit'](_0x186a25);},EmailChannel[_0x4c8128('0x4')]['handleImapEmail']=function(_0x586f0b,_0x6de3e2){const _0x18e68e=_0x4c8128;logger[_0x18e68e('0x2e')](_0x18e68e('0x29'),_0x6de3e2[_0x18e68e('0xf')],_0x6de3e2[_0x18e68e('0xb')],_0x6de3e2[_0x18e68e('0x10')],_0x586f0b);if(this[_0x18e68e('0x21')][_0x586f0b])return mailAccount[_0x18e68e('0xc')](_0x586f0b,_0x6de3e2)[_0x18e68e('0x8')](function(_0xdbddcf){const _0x771f6f=_0x18e68e;_0xdbddcf&&logger[_0x771f6f('0x2e')]('Mail\x20accepted\x20from\x20routing');})[_0x18e68e('0x2c')](function(_0x3aa1b0){const _0x100039=_0x18e68e;logger[_0x100039('0x1')](_0x100039('0x1a'),JSON['stringify'](_0x3aa1b0));});},EmailChannel['prototype'][_0x4c8128('0x2b')]=function(_0xce35a0){const _0x4db582=_0x4c8128;this['mailAccounts'][_0xce35a0]&&this[_0x4db582('0x21')][_0xce35a0]['Imap']&&(this[_0x4db582('0xd')][this['mailAccounts'][_0xce35a0]['Imap']['id']]&&delete this['imapAccounts'][this[_0x4db582('0x21')][_0xce35a0][_0x4db582('0x19')]['id']],this[_0x4db582('0x21')][_0xce35a0][_0x4db582('0x19')][_0x4db582('0x2')]=moment(),this[_0x4db582('0x11')](_0xce35a0));},EmailChannel[_0x4c8128('0x4')][_0x4c8128('0x7')]=function(_0x3b7a75,_0x482d2f){const _0x57d0a2=_0x4c8128;if(this[_0x57d0a2('0x21')][_0x3b7a75])return this[_0x57d0a2('0x21')][_0x3b7a75][_0x57d0a2('0x19')][_0x57d0a2('0x1c')]=_0x57d0a2('0x1'),this[_0x57d0a2('0x21')][_0x3b7a75][_0x57d0a2('0x19')][_0x57d0a2('0x2d')]=_0x482d2f,this[_0x57d0a2('0x11')](_0x3b7a75);},EmailChannel[_0x4c8128('0x4')][_0x4c8128('0x13')]=function(_0xfe94e2,_0x3e290f){const _0xae6f37=_0x4c8128;return this[_0xae6f37('0x9')]['send'](_0xfe94e2,_0x3e290f);},EmailChannel['prototype'][_0x4c8128('0x1f')]=function(_0x1a8018){const _0x51111f=_0x4c8128,_0x485501=this;if(this[_0x51111f('0x21')][_0x1a8018['id']])return _['isNil'](this['mailAccounts'][_0x1a8018['id']][_0x51111f('0x28')])&&(this[_0x51111f('0x21')][_0x1a8018['id']][_0x51111f('0x28')]={}),this[_0x51111f('0x21')][_0x1a8018['id']][_0x51111f('0x28')]['lastSync']=moment(),new Promise(function(_0x41cdfb,_0x4efc75){const _0x3362b2=_0x51111f;return _0x485501[_0x3362b2('0x9')][_0x3362b2('0x26')](_0x1a8018)[_0x3362b2('0x8')](function(_0xb51845){const _0x4c1c18=_0x3362b2;_0x485501['mailAccounts'][_0x1a8018['id']][_0x4c1c18('0x28')][_0x4c1c18('0x1c')]=_0x4c1c18('0xa'),_0x485501[_0x4c1c18('0x21')][_0x1a8018['id']][_0x4c1c18('0x28')][_0x4c1c18('0x2d')]='',_0x485501[_0x4c1c18('0x11')](_0x1a8018['id']),_0x41cdfb(_0xb51845);})[_0x3362b2('0x2c')](function(_0x2aed4d){const _0x41b0d8=_0x3362b2;_0x485501[_0x41b0d8('0x21')][_0x1a8018['id']][_0x41b0d8('0x28')]['status']=_0x41b0d8('0x1'),_0x485501[_0x41b0d8('0x21')][_0x1a8018['id']][_0x41b0d8('0x28')][_0x41b0d8('0x2d')]=_0x2aed4d,_0x485501['emit'](_0x1a8018['id']),_0x4efc75(_0x2aed4d);});});return this['smtp'][_0x51111f('0x26')](_0x1a8018);},module['exports']=EmailChannel;