@social-mail/social-mail-web-server 1.7.261 → 1.7.263
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server/model/entities/DomainReputation.d.ts +6 -0
- package/dist/server/model/entities/DomainReputation.d.ts.map +1 -0
- package/dist/server/model/entities/DomainReputation.js +30 -0
- package/dist/server/model/entities/DomainReputation.js.map +1 -0
- package/dist/server/seed/ui/seed-ui.js +1 -1
- package/dist/server/services/EmailAddressService.d.ts +1 -0
- package/dist/server/services/EmailAddressService.d.ts.map +1 -1
- package/dist/server/services/EmailAddressService.js +42 -18
- package/dist/server/services/EmailAddressService.js.map +1 -1
- package/dist/server/services/message-events/MessagingService.d.ts +1 -0
- package/dist/server/services/message-events/MessagingService.d.ts.map +1 -1
- package/dist/server/services/message-events/MessagingService.js +1 -0
- package/dist/server/services/message-events/MessagingService.js.map +1 -1
- package/dist/server/smtp/services/ChannelService.d.ts +5 -1
- package/dist/server/smtp/services/ChannelService.d.ts.map +1 -1
- package/dist/server/smtp/services/ChannelService.js +11 -7
- package/dist/server/smtp/services/ChannelService.js.map +1 -1
- package/dist/server/smtp/services/DomainReputationService.d.ts +10 -0
- package/dist/server/smtp/services/DomainReputationService.d.ts.map +1 -0
- package/dist/server/smtp/services/DomainReputationService.js +108 -0
- package/dist/server/smtp/services/DomainReputationService.js.map +1 -0
- package/dist/server/smtp/services/MailReceiverService.d.ts +4 -2
- package/dist/server/smtp/services/MailReceiverService.d.ts.map +1 -1
- package/dist/server/smtp/services/MailReceiverService.js +31 -17
- package/dist/server/smtp/services/MailReceiverService.js.map +1 -1
- package/dist/server/workflows/daily/DailyWorkflow.d.ts +2 -1
- package/dist/server/workflows/daily/DailyWorkflow.d.ts.map +1 -1
- package/dist/server/workflows/daily/DailyWorkflow.js +6 -2
- package/dist/server/workflows/daily/DailyWorkflow.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/server/model/entities/DomainReputation.ts +15 -0
- package/src/server/seed/ui/seed-ui.ts +1 -1
- package/src/server/services/EmailAddressService.ts +10 -0
- package/src/server/services/message-events/MessagingService.ts +3 -0
- package/src/server/smtp/services/ChannelService.ts +13 -7
- package/src/server/smtp/services/DomainReputationService.ts +44 -0
- package/src/server/smtp/services/MailReceiverService.ts +35 -21
- package/src/server/workflows/daily/DailyWorkflow.ts +5 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DomainReputation.d.ts","sourceRoot":"","sources":["../../../../src/server/model/entities/DomainReputation.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAG1B,IAAI,EAAE,MAAM,CAAC;IAGb,QAAQ,EAAE,MAAM,CAAC;IAGjB,MAAM,EAAE,MAAM,CAAC;CACzB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import Column from "@entity-access/entity-access/dist/decorators/Column.js";
|
|
11
|
+
import Table from "@entity-access/entity-access/dist/decorators/Table.js";
|
|
12
|
+
let DomainReputation = class DomainReputation {
|
|
13
|
+
};
|
|
14
|
+
__decorate([
|
|
15
|
+
Column({ dataType: "Char", length: 400, key: true }),
|
|
16
|
+
__metadata("design:type", String)
|
|
17
|
+
], DomainReputation.prototype, "name", void 0);
|
|
18
|
+
__decorate([
|
|
19
|
+
Column({ dataType: "Int", default: () => 0 }),
|
|
20
|
+
__metadata("design:type", Number)
|
|
21
|
+
], DomainReputation.prototype, "received", void 0);
|
|
22
|
+
__decorate([
|
|
23
|
+
Column({ dataType: "Int", default: () => 0 }),
|
|
24
|
+
__metadata("design:type", Number)
|
|
25
|
+
], DomainReputation.prototype, "failed", void 0);
|
|
26
|
+
DomainReputation = __decorate([
|
|
27
|
+
Table("DomainReputations")
|
|
28
|
+
], DomainReputation);
|
|
29
|
+
export default DomainReputation;
|
|
30
|
+
//# sourceMappingURL=DomainReputation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DomainReputation.js","sourceRoot":"","sources":["../../../../src/server/model/entities/DomainReputation.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,wDAAwD,CAAC;AAC5E,OAAO,KAAK,MAAM,uDAAuD,CAAC;AAG3D,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAUpC,CAAA;AAPU;IADN,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;;8CACjC;AAGb;IADN,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC;;kDACrB;AAGjB;IADN,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC;;gDACvB;AATL,gBAAgB;IADpC,KAAK,CAAC,mBAAmB,CAAC;GACN,gBAAgB,CAUpC;eAVoB,gBAAgB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UIPackageConfig } from "../../services/DBConfig.js";
|
|
2
2
|
import semver from "semver";
|
|
3
3
|
export default async function seedUI(config) {
|
|
4
|
-
const version = "1.4.
|
|
4
|
+
const version = "1.4.176";
|
|
5
5
|
const existing = await config.getValue(UIPackageConfig, false);
|
|
6
6
|
if (existing) {
|
|
7
7
|
if (semver.gte(existing.version, version)) {
|
|
@@ -9,6 +9,7 @@ export default class EmailAddressService implements ICacheContainer<EmailAddress
|
|
|
9
9
|
getEmailAddressFrom(emailAddress: string): Promise<import("../model/entities/EmailAddress.js").default>;
|
|
10
10
|
getHostedMailboxID(emailAddress: string): Promise<number>;
|
|
11
11
|
getHostedMailbox(mailboxID: number): Promise<import("../model/entities/Mailbox.js").default>;
|
|
12
|
+
getHostedMailboxByAddress(address: string): Promise<import("../model/entities/Mailbox.js").default>;
|
|
12
13
|
isHostedChannelID(emailAddressID: any): Promise<boolean>;
|
|
13
14
|
getEmailAddress(id: number): Promise<import("../model/entities/EmailAddress.js").default>;
|
|
14
15
|
getOrCreateChildMailbox(parentID: number, prefix: string): Promise<import("../model/entities/Mailbox.js").default>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailAddressService.d.ts","sourceRoot":"","sources":["../../../src/server/services/EmailAddressService.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,eAAe,EAAE,WAAW,EAAY,MAAM,0BAA0B,CAAC;AAQjF,MAAM,CAAC,OAAO,OAAO,mBAAoB,YAAW,eAAe,CAAC,mBAAmB,CAAC;IAEpF,KAAK,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAG3B,eAAe,CAAC,IAAI,EAAE,MAAM;IAS5B,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAyB9B,cAAc,CAAC,cAAc,EAAE,MAAM;IAgBrC,YAAY,CAAC,YAAY,EAAE,MAAM;IAUjC,UAAU,CAAC,YAAY,EAAE,MAAM;IAU/B,mBAAmB,CAAC,YAAY,EAAE,MAAM;IAWxC,kBAAkB,CAAC,YAAY,EAAE,MAAM;IAWvC,gBAAgB,CAAC,SAAS,EAAE,MAAM;IASlC,iBAAiB,CAAC,cAAc,KAAA;IAShC,eAAe,CAAC,EAAE,EAAE,MAAM;IAS1B,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IA8BxD,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,GAAE,MAAqB,EAAE,QAAQ,UAAO;CAsFxF"}
|
|
1
|
+
{"version":3,"file":"EmailAddressService.d.ts","sourceRoot":"","sources":["../../../src/server/services/EmailAddressService.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,eAAe,EAAE,WAAW,EAAY,MAAM,0BAA0B,CAAC;AAQjF,MAAM,CAAC,OAAO,OAAO,mBAAoB,YAAW,eAAe,CAAC,mBAAmB,CAAC;IAEpF,KAAK,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAG3B,eAAe,CAAC,IAAI,EAAE,MAAM;IAS5B,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAyB9B,cAAc,CAAC,cAAc,EAAE,MAAM;IAgBrC,YAAY,CAAC,YAAY,EAAE,MAAM;IAUjC,UAAU,CAAC,YAAY,EAAE,MAAM;IAU/B,mBAAmB,CAAC,YAAY,EAAE,MAAM;IAWxC,kBAAkB,CAAC,YAAY,EAAE,MAAM;IAWvC,gBAAgB,CAAC,SAAS,EAAE,MAAM;IASlC,yBAAyB,CAAC,OAAO,EAAE,MAAM;IAUzC,iBAAiB,CAAC,cAAc,KAAA;IAShC,eAAe,CAAC,EAAE,EAAE,MAAM;IAS1B,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IA8BxD,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,GAAE,MAAqB,EAAE,QAAQ,UAAO;CAsFxF"}
|
|
@@ -228,14 +228,15 @@ let EmailAddressService = class EmailAddressService {
|
|
|
228
228
|
__disposeResources(env_8);
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
|
-
async
|
|
231
|
+
async getHostedMailboxByAddress(address) {
|
|
232
232
|
const env_9 = { stack: [], error: void 0, hasError: false };
|
|
233
233
|
try {
|
|
234
|
+
address = address.trim().toLowerCase();
|
|
234
235
|
const scope = __addDisposableResource(env_9, globalServices.createScope(), false);
|
|
235
236
|
const db = scope.resolve(SocialMailContext);
|
|
236
|
-
|
|
237
|
+
return await db.mailboxes.where({ address }, (p) => (x) => x.emailAddress.emailAddress === p.address)
|
|
238
|
+
.include((x) => x.emailAddress)
|
|
237
239
|
.first();
|
|
238
|
-
return mb?.mailboxID > 0;
|
|
239
240
|
}
|
|
240
241
|
catch (e_9) {
|
|
241
242
|
env_9.error = e_9;
|
|
@@ -245,15 +246,14 @@ let EmailAddressService = class EmailAddressService {
|
|
|
245
246
|
__disposeResources(env_9);
|
|
246
247
|
}
|
|
247
248
|
}
|
|
248
|
-
async
|
|
249
|
+
async isHostedChannelID(emailAddressID) {
|
|
249
250
|
const env_10 = { stack: [], error: void 0, hasError: false };
|
|
250
251
|
try {
|
|
251
252
|
const scope = __addDisposableResource(env_10, globalServices.createScope(), false);
|
|
252
253
|
const db = scope.resolve(SocialMailContext);
|
|
253
|
-
const
|
|
254
|
-
.where({ id }, (p) => (x) => x.emailAddressID === p.id)
|
|
254
|
+
const mb = await db.mailboxes.where({ emailAddressID }, (p) => (x) => x.mailboxID === p.emailAddressID && x.isChannel === true)
|
|
255
255
|
.first();
|
|
256
|
-
return
|
|
256
|
+
return mb?.mailboxID > 0;
|
|
257
257
|
}
|
|
258
258
|
catch (e_10) {
|
|
259
259
|
env_10.error = e_10;
|
|
@@ -263,11 +263,29 @@ let EmailAddressService = class EmailAddressService {
|
|
|
263
263
|
__disposeResources(env_10);
|
|
264
264
|
}
|
|
265
265
|
}
|
|
266
|
-
async
|
|
266
|
+
async getEmailAddress(id) {
|
|
267
267
|
const env_11 = { stack: [], error: void 0, hasError: false };
|
|
268
268
|
try {
|
|
269
269
|
const scope = __addDisposableResource(env_11, globalServices.createScope(), false);
|
|
270
270
|
const db = scope.resolve(SocialMailContext);
|
|
271
|
+
const emailAddress = await db.emailAddresses
|
|
272
|
+
.where({ id }, (p) => (x) => x.emailAddressID === p.id)
|
|
273
|
+
.first();
|
|
274
|
+
return emailAddress;
|
|
275
|
+
}
|
|
276
|
+
catch (e_11) {
|
|
277
|
+
env_11.error = e_11;
|
|
278
|
+
env_11.hasError = true;
|
|
279
|
+
}
|
|
280
|
+
finally {
|
|
281
|
+
__disposeResources(env_11);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
async getOrCreateChildMailbox(parentID, prefix) {
|
|
285
|
+
const env_12 = { stack: [], error: void 0, hasError: false };
|
|
286
|
+
try {
|
|
287
|
+
const scope = __addDisposableResource(env_12, globalServices.createScope(), false);
|
|
288
|
+
const db = scope.resolve(SocialMailContext);
|
|
271
289
|
db.raiseEvents = false;
|
|
272
290
|
db.verifyFilters = false;
|
|
273
291
|
const emailAddress = await this.getEmailAddress(parentID);
|
|
@@ -290,16 +308,16 @@ let EmailAddressService = class EmailAddressService {
|
|
|
290
308
|
await db.saveChanges();
|
|
291
309
|
return mb;
|
|
292
310
|
}
|
|
293
|
-
catch (
|
|
294
|
-
|
|
295
|
-
|
|
311
|
+
catch (e_12) {
|
|
312
|
+
env_12.error = e_12;
|
|
313
|
+
env_12.hasError = true;
|
|
296
314
|
}
|
|
297
315
|
finally {
|
|
298
|
-
__disposeResources(
|
|
316
|
+
__disposeResources(env_12);
|
|
299
317
|
}
|
|
300
318
|
}
|
|
301
319
|
async getId(emailAddress, name = emailAddress, validate = true) {
|
|
302
|
-
const
|
|
320
|
+
const env_13 = { stack: [], error: void 0, hasError: false };
|
|
303
321
|
try {
|
|
304
322
|
emailAddress = emailAddress.trim().toLocaleLowerCase();
|
|
305
323
|
name = name?.trim();
|
|
@@ -311,7 +329,7 @@ let EmailAddressService = class EmailAddressService {
|
|
|
311
329
|
return await this.getId(emailAddress + "@empty", name);
|
|
312
330
|
}
|
|
313
331
|
const [username, domainName] = tokens;
|
|
314
|
-
const scope = __addDisposableResource(
|
|
332
|
+
const scope = __addDisposableResource(env_13, globalServices.createScope(), false);
|
|
315
333
|
const db = scope.resolve(SocialMailContext);
|
|
316
334
|
db.raiseEvents = false;
|
|
317
335
|
db.verifyFilters = false;
|
|
@@ -372,12 +390,12 @@ let EmailAddressService = class EmailAddressService {
|
|
|
372
390
|
}
|
|
373
391
|
}
|
|
374
392
|
}
|
|
375
|
-
catch (
|
|
376
|
-
|
|
377
|
-
|
|
393
|
+
catch (e_13) {
|
|
394
|
+
env_13.error = e_13;
|
|
395
|
+
env_13.hasError = true;
|
|
378
396
|
}
|
|
379
397
|
finally {
|
|
380
|
-
__disposeResources(
|
|
398
|
+
__disposeResources(env_13);
|
|
381
399
|
}
|
|
382
400
|
}
|
|
383
401
|
};
|
|
@@ -429,6 +447,12 @@ __decorate([
|
|
|
429
447
|
__metadata("design:paramtypes", [Number]),
|
|
430
448
|
__metadata("design:returntype", Promise)
|
|
431
449
|
], EmailAddressService.prototype, "getHostedMailbox", null);
|
|
450
|
+
__decorate([
|
|
451
|
+
cacheFor(),
|
|
452
|
+
__metadata("design:type", Function),
|
|
453
|
+
__metadata("design:paramtypes", [String]),
|
|
454
|
+
__metadata("design:returntype", Promise)
|
|
455
|
+
], EmailAddressService.prototype, "getHostedMailboxByAddress", null);
|
|
432
456
|
__decorate([
|
|
433
457
|
cacheFor(),
|
|
434
458
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailAddressService.js","sourceRoot":"","sources":["../../../src/server/services/EmailAddressService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"EmailAddressService.js","sourceRoot":"","sources":["../../../src/server/services/EmailAddressService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessagingService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/message-events/MessagingService.ts"],"names":[],"mappings":"AACA,OAAe,EAAqB,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAItG,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,MAAM;IACvC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,OAAE;IACzB,MAAM,CAAC,IAAI,EAAE,CAAC,OAAE;CACnB;AAGD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,aAAa;IAEvD,cAAc,EAAE,eAAe,CAAC;IAEhC,eAAe,EAAE,eAAe,CAAC;IAEjC,UAAU,EAAE,eAAe,CAAC;QAAE,QAAQ,MAAA;KAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"MessagingService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/message-events/MessagingService.ts"],"names":[],"mappings":"AACA,OAAe,EAAqB,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAItG,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,MAAM;IACvC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,OAAE;IACzB,MAAM,CAAC,IAAI,EAAE,CAAC,OAAE;CACnB;AAGD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,aAAa;IAEvD,cAAc,EAAE,eAAe,CAAC;IAEhC,eAAe,EAAE,eAAe,CAAC;IAEjC,UAAU,EAAE,eAAe,CAAC;QAAE,QAAQ,MAAA;KAAE,CAAC,CAAC;IAE1C,iBAAiB,EAAE,eAAe,CAAC;IAGnC,OAAO,CAAC,QAAQ,CAAW;IAE3B,QAAQ;IAOR,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG;IAI3C,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG;IAMtE,OAAO,CAAC,OAAO;CAOlB"}
|
|
@@ -16,6 +16,7 @@ let MessagingService = class MessagingService extends ServiceObject {
|
|
|
16
16
|
this.channelRefresh = this.segment(`web-site-channel-host-clear-${globalEnv.serverID}`);
|
|
17
17
|
this.refreshDns = this.segment("refresh-dns");
|
|
18
18
|
this.snapshotRefresh = this.segment(`snapshot-refresh-${globalEnv.serverID}`);
|
|
19
|
+
this.reputationCleared = this.segment(`reputation-cleared-${globalEnv.serverID}`);
|
|
19
20
|
}
|
|
20
21
|
notify(messageName, data) {
|
|
21
22
|
return this.pgEvents.emit(messageName, data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessagingService.js","sourceRoot":"","sources":["../../../../src/server/services/message-events/MessagingService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+BAA+B;AAC/B,OAAO,MAAM,EAAE,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AACtG,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAQ1C,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,aAAa;
|
|
1
|
+
{"version":3,"file":"MessagingService.js","sourceRoot":"","sources":["../../../../src/server/services/message-events/MessagingService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+BAA+B;AAC/B,OAAO,MAAM,EAAE,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AACtG,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAQ1C,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,aAAa;IAavD,QAAQ;QACJ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,+BAA+B,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,CAAC,WAAmB,EAAE,IAAS;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,WAAmB,EAAE,EAAoC;QAC5D,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACnD,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,OAAO,CAAC,WAAmB;QAC/B,OAAO;YACH,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrF,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;SAC3E,CAAC;IACN,CAAC;CAEJ,CAAA;AA1BW;IADP,MAAM;8BACW,QAAQ;kDAAC;AAXV,gBAAgB;IADpC,iBAAiB;GACG,gBAAgB,CAqCpC;eArCoB,gBAAgB"}
|
|
@@ -2,7 +2,11 @@ import Mailbox from "../../model/entities/Mailbox.js";
|
|
|
2
2
|
import EmailRecipient from "../../model/entities/EmailRecipient.js";
|
|
3
3
|
export default class ChannelService {
|
|
4
4
|
private db;
|
|
5
|
-
getAccess(senderID
|
|
5
|
+
getAccess({ senderID, senderAddress, recipientChannel }: {
|
|
6
|
+
senderAddress?: string;
|
|
7
|
+
senderID?: number;
|
|
8
|
+
recipientChannel: Mailbox;
|
|
9
|
+
}): Promise<{
|
|
6
10
|
channel: Mailbox;
|
|
7
11
|
mailboxContact?: undefined;
|
|
8
12
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelService.d.ts","sourceRoot":"","sources":["../../../../src/server/smtp/services/ChannelService.ts"],"names":[],"mappings":"AAKA,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,cAAc,MAAM,wCAAwC,CAAC;AAQpE,MAAM,CAAC,OAAO,OAAO,cAAc;IAG/B,OAAO,CAAC,EAAE,CAAoB;IAExB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"ChannelService.d.ts","sourceRoot":"","sources":["../../../../src/server/smtp/services/ChannelService.ts"],"names":[],"mappings":"AAKA,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,cAAc,MAAM,wCAAwC,CAAC;AAQpE,MAAM,CAAC,OAAO,OAAO,cAAc;IAG/B,OAAO,CAAC,EAAE,CAAoB;IAExB,SAAS,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAA;KAAE;;;;;;;IAgCjI,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAUnD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAUrD,oBAAoB,CAAC,MAAM,EAAE,cAAc;IA2D3C,iBAAiB,CAAC,OAAO,EAAE,MAAM;CA2B1C"}
|
|
@@ -18,17 +18,21 @@ import SubscriberRequested from "../../templates/channel/SubscriberRequested.js"
|
|
|
18
18
|
import EmailAddressService from "../../services/EmailAddressService.js";
|
|
19
19
|
import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
|
|
20
20
|
let ChannelService = class ChannelService {
|
|
21
|
-
async getAccess(senderID,
|
|
22
|
-
if (!
|
|
21
|
+
async getAccess({ senderID, senderAddress, recipientChannel }) {
|
|
22
|
+
if (!recipientChannel.isPrivateChannel && !recipientChannel.requiresMembershipApproval) {
|
|
23
23
|
// we should accept everything...
|
|
24
|
-
return { channel };
|
|
24
|
+
return { channel: recipientChannel };
|
|
25
25
|
}
|
|
26
|
-
const { mailboxID } =
|
|
26
|
+
const { mailboxID } = recipientChannel;
|
|
27
|
+
let q = this.db.mailboxContacts.where({ mailboxID }, (p) => (x) => x.mailboxID === p.mailboxID);
|
|
28
|
+
q = senderAddress
|
|
29
|
+
? q.where({ senderAddress }, (p) => (x) => x.emailAddress.emailAddress === p.senderAddress)
|
|
30
|
+
: q.where({ senderID }, (p) => (x) => x.emailAddressID === p.senderID);
|
|
27
31
|
const mailboxContact = await this.db.mailboxContacts
|
|
28
32
|
.where({ senderID, mailboxID }, (p) => (x) => x.mailboxID === p.mailboxID
|
|
29
33
|
&& x.emailAddressID === p.senderID)
|
|
30
34
|
.first();
|
|
31
|
-
if (
|
|
35
|
+
if (recipientChannel.isPrivateChannel) {
|
|
32
36
|
if (!mailboxContact) {
|
|
33
37
|
throw new SmtpError("Only active members of channel can send message to channel", SmtpStatusCodes.DeliveryNotPermitted);
|
|
34
38
|
}
|
|
@@ -36,7 +40,7 @@ let ChannelService = class ChannelService {
|
|
|
36
40
|
if (mailboxContact?.blocked) {
|
|
37
41
|
throw new SmtpError("Only active members of channel can send message to channel", SmtpStatusCodes.DeliveryNotPermitted);
|
|
38
42
|
}
|
|
39
|
-
return { channel, mailboxContact };
|
|
43
|
+
return { channel: recipientChannel, mailboxContact };
|
|
40
44
|
}
|
|
41
45
|
async subscribe(mailboxID, emailAddressID) {
|
|
42
46
|
const dateUpdated = DateTime.now;
|
|
@@ -63,7 +67,7 @@ let ChannelService = class ChannelService {
|
|
|
63
67
|
const { senderID } = entity.email;
|
|
64
68
|
const channel = await this.db.mailboxes.where({ emailAddressID }, (p) => (x) => x.mailboxID === p.emailAddressID)
|
|
65
69
|
.first();
|
|
66
|
-
const { mailboxContact } = await this.getAccess(senderID, channel);
|
|
70
|
+
const { mailboxContact } = await this.getAccess({ senderID, recipientChannel: channel });
|
|
67
71
|
const isActiveSubscriber = mailboxContact && (mailboxContact.isOwner || mailboxContact.canContribute || mailboxContact.status === "active");
|
|
68
72
|
if (isActiveSubscriber) {
|
|
69
73
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelService.js","sourceRoot":"","sources":["../../../../src/server/smtp/services/ChannelService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AACrG,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAG3E,OAAO,eAAe,MAAM,gEAAgE,CAAC;AAC7F,OAAO,qBAAqB,MAAM,yDAAyD,CAAC;AAC5F,OAAO,mBAAmB,MAAM,gDAAgD,CAAC;AACjF,OAAO,mBAAmB,MAAM,uCAAuC,CAAC;AACxE,OAAO,GAAG,MAAM,8CAA8C,CAAC;AAGhD,IAAM,cAAc,GAApB,MAAM,cAAc;IAK/B,KAAK,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"ChannelService.js","sourceRoot":"","sources":["../../../../src/server/smtp/services/ChannelService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AACrG,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAG3E,OAAO,eAAe,MAAM,gEAAgE,CAAC;AAC7F,OAAO,qBAAqB,MAAM,yDAAyD,CAAC;AAC5F,OAAO,mBAAmB,MAAM,gDAAgD,CAAC;AACjF,OAAO,mBAAmB,MAAM,uCAAuC,CAAC;AACxE,OAAO,GAAG,MAAM,8CAA8C,CAAC;AAGhD,IAAM,cAAc,GAApB,MAAM,cAAc;IAK/B,KAAK,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAA4E;QAEnI,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,CAAC;YACrF,iCAAiC;YACjC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;QACzC,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC;QAEvC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;QAEhG,CAAC,GAAG,aAAa;YACb,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,aAAa,EAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,YAAY,CAAC,YAAY,KAAK,CAAC,CAAC,aAAa,CAAC;YAC3F,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;QAE1E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,eAAe;aAC/C,KAAK,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS;eACjE,CAAC,CAAC,cAAc,KAAK,CAAC,CAAC,QAAQ,CAAC;aACtC,KAAK,EAAE,CAAC;QAEb,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;YACpC,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,MAAM,IAAI,SAAS,CAAC,4DAA4D,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;YAC5H,CAAC;QACL,CAAC;QAED,IAAI,cAAc,EAAE,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,SAAS,CAAC,4DAA4D,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;QAC5H,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,cAAsB;QACrD,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC;QACjC,MAAM,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC;YAC5C,SAAS;YACT,cAAc;YACd,MAAM,EAAE,QAAQ;YAChB,WAAW;SACd,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,cAAsB;QACvD,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC;QACjC,MAAM,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC;YAC5C,SAAS;YACT,cAAc;YACd,MAAM,EAAE,cAAc;YACtB,WAAW;SACd,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,MAAsB;QAE7C,MAAM,EAAE,cAAc,EAAG,GAAG,MAAM,CAAC;QAEnC,MAAM,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACvE,MAAM,mBAAmB,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAE/E,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,cAAc,CAAC;aAC3G,KAAK,EAAE,CAAC;QACb,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAE,CAAC;QAC1F,MAAM,kBAAkB,GAAG,cAAc,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,aAAa,IAAI,cAAc,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QAE5I,IAAG,kBAAkB,EAAE,CAAC;YACpB,OAAO;QACX,CAAC;QAED,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,IAAI,SAAS,CAAC,kCAAkC,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;YACrC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;YACzB,IAAI,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvD,4BAA4B;gBAE5B,MAAM,EAAE,GAAG,MAAM,mBAAmB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAE/D,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;gBACvB,KAAK,CAAC,QAAQ,GAAG,mBAAmB,CAAC;oBACjC,YAAY,EAAE,MAAM,mBAAmB,CAAC,eAAe,CAAC,cAAc,CAAC;oBACvE,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,YAAY,EAAE,EAAE,CAAC,YAAY;oBAC7B,IAAI,EAAE,KAAK,CAAC,QAAQ;iBACvB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEd,kCAAkC;gBAClC,qBAAqB;gBACrB,kEAAkE;gBAClE,yDAAyD;gBACzD,oCAAoC;gBACpC,+BAA+B;gBAC/B,UAAU;gBACV,KAAK;gBACL,OAAO;YACX,CAAC;YACD,sDAAsD;YACtD,wBAAwB;YACxB,MAAM,eAAe,CAAC,KAAK,CAAC,qBAAqB,EAC7C;gBACI,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,cAAc,EAAE,QAAQ;aAC3B,EAAE;gBACC,EAAE,EAAE,2BAA2B,OAAO,CAAC,SAAS,IAAI,QAAQ,EAAE;aACjE,CAAC,CAAC;YAEP,MAAM,IAAI,SAAS,CAAC,kCAAkC,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;QAClG,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAe;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7E,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI;eACzB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;aACxD,KAAK,EAAE,CAAC;QAEb,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;QAC7C,MAAM,IAAI,CAAC,EAAE,CAAC,eAAe;aACxB,KAAK,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,cAAc,KAAK,CAAC,CAAC,cAAc,CAAC;aACxH,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3B,MAAM,EAAE,QAAQ;SACnB,CAAC,CAAC,CAAC;QAER,wBAAwB;QACxB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACjF,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS;eACxB,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;aAC5C,KAAK,EAAE,CAAC;QAEb,IAAG,CAAC,aAAa,EAAE,CAAC;YAChB,OAAO;QACX,CAAC;QAED,uBAAuB;QACvB,UAAU;IACd,CAAC;CAEJ,CAAA;AA5IW;IADP,MAAM;8BACK,iBAAiB;0CAAC;AAHb,cAAc;IADlC,cAAc;GACM,cAAc,CA+IlC;eA/IoB,cAAc"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ServiceObject } from "@entity-access/entity-access/dist/di/di.js";
|
|
2
|
+
import { ICacheContainer, ObjectCache } from "../../../common/cacheFor.js";
|
|
3
|
+
import MessagingService from "../../services/message-events/MessagingService.js";
|
|
4
|
+
export default class DomainReputationService extends ServiceObject implements ICacheContainer<DomainReputationService> {
|
|
5
|
+
cache: ObjectCache<DomainReputationService>;
|
|
6
|
+
ms: MessagingService;
|
|
7
|
+
checkReputation(domainName: string): Promise<void>;
|
|
8
|
+
postInit(): void;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=DomainReputationService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DomainReputationService.d.ts","sourceRoot":"","sources":["../../../../src/server/smtp/services/DomainReputationService.ts"],"names":[],"mappings":"AAAA,OAAe,EAAqB,aAAa,EAAmB,MAAM,4CAA4C,CAAC;AACvH,OAAO,EAAY,eAAe,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAIrF,OAAO,gBAAgB,MAAM,mDAAmD,CAAC;AAGjF,MAAM,CAAC,OAAO,OAAO,uBACjB,SAAQ,aACR,YAAW,eAAe,CAAC,uBAAuB,CAAC;IAEnD,KAAK,EAAE,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAG5C,EAAE,EAAE,gBAAgB,CAAC;IAGf,eAAe,CAAC,UAAU,EAAE,MAAM;IAsBxC,QAAQ;CAGX"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
|
|
11
|
+
if (value !== null && value !== void 0) {
|
|
12
|
+
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
13
|
+
var dispose, inner;
|
|
14
|
+
if (async) {
|
|
15
|
+
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
16
|
+
dispose = value[Symbol.asyncDispose];
|
|
17
|
+
}
|
|
18
|
+
if (dispose === void 0) {
|
|
19
|
+
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
20
|
+
dispose = value[Symbol.dispose];
|
|
21
|
+
if (async) inner = dispose;
|
|
22
|
+
}
|
|
23
|
+
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
24
|
+
if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
|
|
25
|
+
env.stack.push({ value: value, dispose: dispose, async: async });
|
|
26
|
+
}
|
|
27
|
+
else if (async) {
|
|
28
|
+
env.stack.push({ async: true });
|
|
29
|
+
}
|
|
30
|
+
return value;
|
|
31
|
+
};
|
|
32
|
+
var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
|
|
33
|
+
return function (env) {
|
|
34
|
+
function fail(e) {
|
|
35
|
+
env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
36
|
+
env.hasError = true;
|
|
37
|
+
}
|
|
38
|
+
function next() {
|
|
39
|
+
while (env.stack.length) {
|
|
40
|
+
var rec = env.stack.pop();
|
|
41
|
+
try {
|
|
42
|
+
var result = rec.dispose && rec.dispose.call(rec.value);
|
|
43
|
+
if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
|
44
|
+
}
|
|
45
|
+
catch (e) {
|
|
46
|
+
fail(e);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (env.hasError) throw env.error;
|
|
50
|
+
}
|
|
51
|
+
return next();
|
|
52
|
+
};
|
|
53
|
+
})(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
54
|
+
var e = new Error(message);
|
|
55
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
56
|
+
});
|
|
57
|
+
import Inject, { RegisterSingleton, ServiceObject, ServiceProvider } from "@entity-access/entity-access/dist/di/di.js";
|
|
58
|
+
import { cacheFor } from "../../../common/cacheFor.js";
|
|
59
|
+
import { SmtpStatusCodes } from "../client/SmtpStatusCodes.js";
|
|
60
|
+
import SmtpError from "./SmtpError.js";
|
|
61
|
+
import SocialMailContext from "../../model/SocialMailContext.js";
|
|
62
|
+
import MessagingService from "../../services/message-events/MessagingService.js";
|
|
63
|
+
let DomainReputationService = class DomainReputationService extends ServiceObject {
|
|
64
|
+
async checkReputation(domainName) {
|
|
65
|
+
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
66
|
+
try {
|
|
67
|
+
const scope = __addDisposableResource(env_1, ServiceProvider.createScope(this), false);
|
|
68
|
+
const db = scope.resolve(SocialMailContext);
|
|
69
|
+
domainName = domainName.trim().toLowerCase();
|
|
70
|
+
const reputation = await db.domains.where({ domainName }, (p) => (x) => x.name === p.domainName)
|
|
71
|
+
.first();
|
|
72
|
+
if (!reputation) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const { failed } = reputation;
|
|
76
|
+
if (failed > 3) {
|
|
77
|
+
if (failed > (reputation.received / 10)) {
|
|
78
|
+
throw new SmtpError("Sender Blocked for 24 Hours", SmtpStatusCodes.SenderBlocked);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch (e_1) {
|
|
83
|
+
env_1.error = e_1;
|
|
84
|
+
env_1.hasError = true;
|
|
85
|
+
}
|
|
86
|
+
finally {
|
|
87
|
+
__disposeResources(env_1);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
postInit() {
|
|
91
|
+
this.ms.reputationCleared.on(() => this.cache?.clear("checkReputation"));
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
__decorate([
|
|
95
|
+
Inject,
|
|
96
|
+
__metadata("design:type", MessagingService)
|
|
97
|
+
], DomainReputationService.prototype, "ms", void 0);
|
|
98
|
+
__decorate([
|
|
99
|
+
cacheFor(),
|
|
100
|
+
__metadata("design:type", Function),
|
|
101
|
+
__metadata("design:paramtypes", [String]),
|
|
102
|
+
__metadata("design:returntype", Promise)
|
|
103
|
+
], DomainReputationService.prototype, "checkReputation", null);
|
|
104
|
+
DomainReputationService = __decorate([
|
|
105
|
+
RegisterSingleton
|
|
106
|
+
], DomainReputationService);
|
|
107
|
+
export default DomainReputationService;
|
|
108
|
+
//# sourceMappingURL=DomainReputationService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DomainReputationService.js","sourceRoot":"","sources":["../../../../src/server/smtp/services/DomainReputationService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,MAAM,EAAE,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AACvH,OAAO,EAAE,QAAQ,EAAgC,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,gBAAgB,MAAM,mDAAmD,CAAC;AAGlE,IAAM,uBAAuB,GAA7B,MAAM,uBACjB,SAAQ,aAAa;IASf,AAAN,KAAK,CAAC,eAAe,CAAC,UAAkB;;;YACpC,MAAM,KAAK,kCAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,QAAA,CAAC;YAChD,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAE5C,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAE7C,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,CAAC;iBAC3F,KAAK,EAAE,CAAC;YAEb,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,OAAO;YACX,CAAC;YAED,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;YAE9B,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACb,IAAI,MAAM,GAAG,CAAC,UAAU,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC;oBACtC,MAAM,IAAI,SAAS,CAAC,6BAA6B,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;gBACtF,CAAC;YACL,CAAC;;;;;;;;;KACJ;IAED,QAAQ;QACJ,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC7E,CAAC;CACJ,CAAA;AA5BG;IADC,MAAM;8BACH,gBAAgB;mDAAC;AAGf;IADL,QAAQ,EAAE;;;;8DAqBV;AA9BgB,uBAAuB;IAD3C,iBAAiB;GACG,uBAAuB,CAmC3C;eAnCoB,uBAAuB"}
|
|
@@ -13,15 +13,17 @@ export default class MailReceiverService {
|
|
|
13
13
|
private emailSerializerService;
|
|
14
14
|
private emailAddressService;
|
|
15
15
|
private tagService;
|
|
16
|
+
private domainReputation;
|
|
17
|
+
private ms;
|
|
16
18
|
private session;
|
|
17
19
|
private from;
|
|
18
|
-
private
|
|
20
|
+
private fromDomain;
|
|
19
21
|
private recipients;
|
|
20
22
|
start(session: smtpServer.SMTPServerSession): Promise<void>;
|
|
21
23
|
auth(auth: smtpServer.SMTPServerAuthentication): Promise<smtpServer.SMTPServerAuthenticationResponse>;
|
|
22
24
|
acceptFrom(address: smtpServer.SMTPServerAddress): Promise<void>;
|
|
23
25
|
acceptRecipient(address: smtpServer.SMTPServerAddress): Promise<void>;
|
|
24
|
-
addDomainActivity(
|
|
26
|
+
addDomainActivity(activity: serverActivities): Promise<void>;
|
|
25
27
|
acceptData(stream: smtpServer.SMTPServerDataStream): Promise<void>;
|
|
26
28
|
acceptFile(tempFile: LocalFile): Promise<void>;
|
|
27
29
|
private parse;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MailReceiverService.d.ts","sourceRoot":"","sources":["../../../../src/server/smtp/services/MailReceiverService.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;AAe1C,OAAO,EAAE,SAAS,EAAE,MAAM,oDAAoD,CAAC;AAK/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"MailReceiverService.d.ts","sourceRoot":"","sources":["../../../../src/server/smtp/services/MailReceiverService.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;AAe1C,OAAO,EAAE,SAAS,EAAE,MAAM,oDAAoD,CAAC;AAK/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAiC1E,MAAM,WAAW,mBAAmB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAqBD,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAGpC,OAAO,CAAC,EAAE,CAAoB;IAG9B,OAAO,CAAC,OAAO,CAAc;IAG7B,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,sBAAsB,CAAyB;IAGvD,OAAO,CAAC,mBAAmB,CAAsB;IAGjD,OAAO,CAAC,UAAU,CAAa;IAG/B,OAAO,CAAC,gBAAgB,CAA0B;IAGlD,OAAO,CAAC,EAAE,CAAmB;IAE7B,OAAO,CAAC,OAAO,CAA+B;IAE9C,OAAO,CAAC,IAAI,CAA+B;IAE3C,OAAO,CAAC,UAAU,CAAS;IAI3B,OAAO,CAAC,UAAU,CAAuB;IAEnC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,iBAAiB;IAI3C,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,wBAAwB,GAAG,OAAO,CAAC,UAAU,CAAC,gCAAgC,CAAC;IAYrG,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,iBAAiB;IAuBhD,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,iBAAiB;IAsDrD,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB;IA4B5C,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlE,UAAU,CAAC,QAAQ,EAAE,SAAS;YAqBtB,KAAK;YAYL,YAAY;CAmF7B"}
|