@social-mail/social-mail-web-server 1.16.99 → 1.16.102
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/.tsbuildinfo +1 -1
- package/dist/server/model/entities/Domain.d.ts +2 -0
- package/dist/server/model/entities/Domain.d.ts.map +1 -1
- package/dist/server/model/entities/Domain.js +5 -0
- package/dist/server/model/entities/Domain.js.map +1 -1
- package/dist/server/workflows/pending/PendingPostReceiveWorkflow.d.ts.map +1 -1
- package/dist/server/workflows/pending/PendingPostReceiveWorkflow.js +4 -1
- package/dist/server/workflows/pending/PendingPostReceiveWorkflow.js.map +1 -1
- package/dist/server/workflows/pending/PendingReferencesWorkflow.d.ts.map +1 -1
- package/dist/server/workflows/pending/PendingReferencesWorkflow.js +1 -2
- package/dist/server/workflows/pending/PendingReferencesWorkflow.js.map +1 -1
- package/dist/server/workflows/smtp/DispatchEmailToMX.d.ts +1 -0
- package/dist/server/workflows/smtp/DispatchEmailToMX.d.ts.map +1 -1
- package/dist/server/workflows/smtp/DispatchEmailToMX.js +36 -0
- package/dist/server/workflows/smtp/DispatchEmailToMX.js.map +1 -1
- package/package.json +2 -2
- package/src/server/model/entities/Domain.ts +4 -0
- package/src/server/workflows/pending/PendingPostReceiveWorkflow.ts +4 -1
- package/src/server/workflows/pending/PendingReferencesWorkflow.ts +1 -3
- package/src/server/workflows/smtp/DispatchEmailToMX.ts +41 -0
|
@@ -5,12 +5,14 @@ import type ServerActivity from "./ServerActivity.js";
|
|
|
5
5
|
import type Mailbox from "./Mailbox.js";
|
|
6
6
|
import type HostedZone from "./HostedZone.js";
|
|
7
7
|
import type SubscriptionDomain from "./SubscriptionDomain.js";
|
|
8
|
+
import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
|
|
8
9
|
export default class Domain {
|
|
9
10
|
domainID: number;
|
|
10
11
|
name: string;
|
|
11
12
|
received: number;
|
|
12
13
|
failed: number;
|
|
13
14
|
whiteListed: boolean;
|
|
15
|
+
pauseSendingTill: DateTime;
|
|
14
16
|
hostedDomain: HostedDomain;
|
|
15
17
|
emailAddresses: EmailAddress[];
|
|
16
18
|
contactDomains: ContactDomain[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Domain.d.ts","sourceRoot":"","sources":["../../../../src/server/model/entities/Domain.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"Domain.d.ts","sourceRoot":"","sources":["../../../../src/server/model/entities/Domain.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAC;AAC9D,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAS3E,MAAM,CAAC,OAAO,OAAO,MAAM;IAGhB,QAAQ,EAAE,MAAM,CAAC;IAGjB,IAAI,EAAE,MAAM,CAAC;IAGpB,QAAQ,EAAE,MAAM,CAAE;IAGlB,MAAM,EAAE,MAAM,CAAE;IAGhB,WAAW,EAAE,OAAO,CAAC;IAGrB,gBAAgB,EAAE,QAAQ,CAAC;IAEpB,YAAY,EAAE,YAAY,CAAC;IAE3B,cAAc,EAAE,YAAY,EAAE,CAAC;IAE/B,cAAc,EAAE,aAAa,EAAE,CAAC;IACvC,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;CAC7C"}
|
|
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
import Column from "@entity-access/entity-access/dist/decorators/Column.js";
|
|
11
11
|
import Index from "@entity-access/entity-access/dist/decorators/Index.js";
|
|
12
12
|
import Table from "@entity-access/entity-access/dist/decorators/Table.js";
|
|
13
|
+
import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
|
|
13
14
|
let Domain = class Domain {
|
|
14
15
|
};
|
|
15
16
|
__decorate([
|
|
@@ -32,6 +33,10 @@ __decorate([
|
|
|
32
33
|
Column({ dataType: "Boolean", default: () => false }),
|
|
33
34
|
__metadata("design:type", Boolean)
|
|
34
35
|
], Domain.prototype, "whiteListed", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
Column({ dataType: "DateTime", nullable: true }),
|
|
38
|
+
__metadata("design:type", DateTime)
|
|
39
|
+
], Domain.prototype, "pauseSendingTill", void 0);
|
|
35
40
|
Domain = __decorate([
|
|
36
41
|
Table("Domains"),
|
|
37
42
|
Index({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Domain.js","sourceRoot":"","sources":["../../../../src/server/model/entities/Domain.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,wDAAwD,CAAC;AAC5E,OAAO,KAAK,MAAM,uDAAuD,CAAC;AAC1E,OAAO,KAAK,MAAM,uDAAuD,CAAC;
|
|
1
|
+
{"version":3,"file":"Domain.js","sourceRoot":"","sources":["../../../../src/server/model/entities/Domain.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,wDAAwD,CAAC;AAC5E,OAAO,KAAK,MAAM,uDAAuD,CAAC;AAC1E,OAAO,KAAK,MAAM,uDAAuD,CAAC;AAQ1E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAS5D,IAAM,MAAM,GAAZ,MAAM,MAAM;CA6B1B,CAAA;AA1BU;IADN,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;;wCACrB;AAGjB;IADN,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAC,CAAC;;oCACrB;AAGpB;IADC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC;;wCAC3B;AAGlB;IADC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC;;sCAC7B;AAGhB;IADC,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,EAAC,CAAC;;2CAChC;AAGrB;IADC,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;8BAC9B,QAAQ;gDAAC;AAlBV,MAAM;IAP1B,KAAK,CAAC,SAAS,CAAC;IAChB,KAAK,CAAC;QACH,IAAI,EAAE,sBAAsB;QAC5B,SAAS,EAAC,CAAC,mBAAmB,CAAC;QAC/B,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAC,CAAC;KACzF,CAAC;GACmB,MAAM,CA6B1B;eA7BoB,MAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PendingPostReceiveWorkflow.d.ts","sourceRoot":"","sources":["../../../../src/server/workflows/pending/PendingPostReceiveWorkflow.ts"],"names":[],"mappings":"AAEA,OAAO,QAA4B,MAAM,yDAAyD,CAAC;AACnG,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,uBAAuB,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"PendingPostReceiveWorkflow.d.ts","sourceRoot":"","sources":["../../../../src/server/workflows/pending/PendingPostReceiveWorkflow.ts"],"names":[],"mappings":"AAEA,OAAO,QAA4B,MAAM,yDAAyD,CAAC;AACnG,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,uBAAuB,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,QAAQ;IAE5D,MAAM,CAAC,SAAS,SAAW;IAE3B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,kBAAkB;IAIlC,GAAG;IAUH,kBAAkB,CACpB,KAAK,EAAE,MAAM,EACL,EAAE,CAAC,EAAE,iBAAiB,EACtB,GAAG,CAAC,EAAE,uBAAuB;CAqC5C"}
|
|
@@ -15,11 +15,14 @@ import Inject from "@entity-access/entity-access/dist/di/di.js";
|
|
|
15
15
|
import Workflow, { UniqueActivity } from "@entity-access/entity-access/dist/workflows/Workflow.js";
|
|
16
16
|
import SocialMailContext from "../../model/SocialMailContext.js";
|
|
17
17
|
import EmailPostReceiveService from "../../smtp/services/EmailPostReceiveService.js";
|
|
18
|
+
import TimeSpan from "@entity-access/entity-access/dist/types/TimeSpan.js";
|
|
18
19
|
class PendingPostReceiveWorkflow extends Workflow {
|
|
19
20
|
static queue(context) {
|
|
20
21
|
return context.queue(PendingPostReceiveWorkflow, {}, { id: `run-post-receive-workflow` });
|
|
21
22
|
}
|
|
22
23
|
async run() {
|
|
24
|
+
this.preserveTime = TimeSpan.fromSeconds(15);
|
|
25
|
+
this.failedPreserveTime = TimeSpan.fromSeconds(30);
|
|
23
26
|
let start = 0;
|
|
24
27
|
do {
|
|
25
28
|
start = await this.processPostReceive(start);
|
|
@@ -56,7 +59,7 @@ class PendingPostReceiveWorkflow extends Workflow {
|
|
|
56
59
|
return start;
|
|
57
60
|
}
|
|
58
61
|
}
|
|
59
|
-
PendingPostReceiveWorkflow.taskGroup = "
|
|
62
|
+
PendingPostReceiveWorkflow.taskGroup = "batch";
|
|
60
63
|
export default PendingPostReceiveWorkflow;
|
|
61
64
|
__decorate([
|
|
62
65
|
UniqueActivity,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PendingPostReceiveWorkflow.js","sourceRoot":"","sources":["../../../../src/server/workflows/pending/PendingPostReceiveWorkflow.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAA+B;AAC/B,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,QAAQ,EAAE,EAAE,cAAc,EAAE,MAAM,yDAAyD,CAAC;AACnG,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,uBAAuB,MAAM,gDAAgD,CAAC;
|
|
1
|
+
{"version":3,"file":"PendingPostReceiveWorkflow.js","sourceRoot":"","sources":["../../../../src/server/workflows/pending/PendingPostReceiveWorkflow.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAA+B;AAC/B,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,QAAQ,EAAE,EAAE,cAAc,EAAE,MAAM,yDAAyD,CAAC;AACnG,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,uBAAuB,MAAM,gDAAgD,CAAC;AAErF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,MAAqB,0BAA2B,SAAQ,QAAQ;IAI5D,MAAM,CAAC,KAAK,CAAC,OAA2B;QACpC,OAAO,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,2BAA2B,EAAC,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,GAAG;QACL,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,GAAG,CAAC;YACA,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC,QAAO,MAAM,CAAC,KAAK,CAAC,EAAE;IAC3B,CAAC;IAGK,AAAN,KAAK,CAAC,kBAAkB,CACpB,KAAa,EACL,EAAsB,EACtB,GAA6B;QAGrC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK;eACjE,CAAC,CAAC,MAAM,KAAK,OAAO;eACpB,CAAC,CAAC,MAAM,KAAK,WAAW;eACxB,CAAC,CAAC,uBAAuB,KAAK,KAAK;eACnC,CAAC,CAAC,sBAAsB,KAAK,IAAI,CACvC;aACA,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aACzB,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACvB,CAAC,CAAC;aACF,OAAO,EAAE,CAAC;QAEf,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,CAAC;QACb,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC;gBACD,mCAAmC;gBACnC,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpB,+BAA+B;YACnC,CAAC;YACD,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACrB,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;;AArDM,oCAAS,GAAG,OAAO,CAAC;eAFV,0BAA0B;AAkBrC;IADL,cAAc;IAGV,WAAA,MAAM,CAAA;IACN,WAAA,MAAM,CAAA;;6CADM,iBAAiB;QAChB,uBAAuB;;oEAkCxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PendingReferencesWorkflow.d.ts","sourceRoot":"","sources":["../../../../src/server/workflows/pending/PendingReferencesWorkflow.ts"],"names":[],"mappings":"AAEA,OAAO,QAA4B,MAAM,yDAAyD,CAAC;AACnG,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,qBAAqB,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"PendingReferencesWorkflow.d.ts","sourceRoot":"","sources":["../../../../src/server/workflows/pending/PendingReferencesWorkflow.ts"],"names":[],"mappings":"AAEA,OAAO,QAA4B,MAAM,yDAAyD,CAAC;AACnG,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,qBAAqB,MAAM,8CAA8C,CAAC;AAGjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,QAAQ;IAE3D,MAAM,CAAC,SAAS,SAAa;IAE7B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,kBAAkB;IAIlC,GAAG;IAYH,wBAAwB,CAC1B,KAAK,EAAE,MAAM,EACL,EAAE,CAAC,EAAE,iBAAiB,EACtB,GAAG,CAAC,EAAE,qBAAqB;CAuC1C"}
|
|
@@ -17,7 +17,6 @@ import SocialMailContext from "../../model/SocialMailContext.js";
|
|
|
17
17
|
import EmailReferenceService from "../../smtp/services/EmailReferenceService.js";
|
|
18
18
|
import { globalEnv } from "../../../common/globalEnv.js";
|
|
19
19
|
import PendingPostReceiveWorkflow from "./PendingPostReceiveWorkflow.js";
|
|
20
|
-
import { randomUUID } from "node:crypto";
|
|
21
20
|
class PendingReferencesWorkflow extends Workflow {
|
|
22
21
|
static queue(context) {
|
|
23
22
|
return context.queue(PendingReferencesWorkflow, {}, { id: `update-references-${Date.now()}`, throttle: { group: "update-ref", maxPerSecond: 1 } });
|
|
@@ -30,7 +29,7 @@ class PendingReferencesWorkflow extends Workflow {
|
|
|
30
29
|
break;
|
|
31
30
|
}
|
|
32
31
|
}
|
|
33
|
-
await this.context
|
|
32
|
+
await PendingPostReceiveWorkflow.queue(this.context);
|
|
34
33
|
}
|
|
35
34
|
async processPendingReferences(start, db, ers) {
|
|
36
35
|
const items = await db.emails.where({ start }, (x, p) => x.emailID > p.start
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PendingReferencesWorkflow.js","sourceRoot":"","sources":["../../../../src/server/workflows/pending/PendingReferencesWorkflow.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAA+B;AAC/B,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,QAAQ,EAAE,EAAE,cAAc,EAAE,MAAM,yDAAyD,CAAC;AACnG,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,qBAAqB,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,0BAA0B,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"PendingReferencesWorkflow.js","sourceRoot":"","sources":["../../../../src/server/workflows/pending/PendingReferencesWorkflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ export default class DispatchEmailToMX extends Workflow<IMessageEnvelope> {
|
|
|
13
13
|
private response;
|
|
14
14
|
private signedFileLogID;
|
|
15
15
|
run(): Promise<string>;
|
|
16
|
+
getPauseSendingTill(i: any, db?: SocialMailContext): Promise<number>;
|
|
16
17
|
signEmail(mds?: MailDispatcherService): Promise<number>;
|
|
17
18
|
sendExternalMail(attempt: number, els?: EmailLogService, db?: SocialMailContext, es?: EncryptionService): Promise<{
|
|
18
19
|
logs: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DispatchEmailToMX.d.ts","sourceRoot":"","sources":["../../../../src/server/workflows/smtp/DispatchEmailToMX.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wDAAwD,CAAC;AAIzF,OAAO,QAA4B,MAAM,yDAAyD,CAAC;AACnG,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,UAAU,EAAE,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,eAAe,MAAM,8CAA8C,CAAC;AAC3E,OAAO,mBAAmB,MAAM,uCAAuC,CAAC;AAGxE,OAAO,iBAAiB,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,sBAAsB,MAAM,+CAA+C,CAAC;AAMnF,eAAO,MAAM,QAAQ,6BASlB,CAAC;AAEJ,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,QAAQ,CAAC,gBAAgB,CAAC;IAErE,OAAO,CAAC,QAAQ,CAAgB;IAEhC,OAAO,CAAC,eAAe,CAAS;IAE1B,GAAG;
|
|
1
|
+
{"version":3,"file":"DispatchEmailToMX.d.ts","sourceRoot":"","sources":["../../../../src/server/workflows/smtp/DispatchEmailToMX.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wDAAwD,CAAC;AAIzF,OAAO,QAA4B,MAAM,yDAAyD,CAAC;AACnG,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,UAAU,EAAE,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,eAAe,MAAM,8CAA8C,CAAC;AAC3E,OAAO,mBAAmB,MAAM,uCAAuC,CAAC;AAGxE,OAAO,iBAAiB,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,sBAAsB,MAAM,+CAA+C,CAAC;AAMnF,eAAO,MAAM,QAAQ,6BASlB,CAAC;AAEJ,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,QAAQ,CAAC,gBAAgB,CAAC;IAErE,OAAO,CAAC,QAAQ,CAAgB;IAEhC,OAAO,CAAC,eAAe,CAAS;IAE1B,GAAG;IA+CH,mBAAmB,CAAC,CAAC,KAAA,EACf,EAAE,CAAC,EAAE,iBAAiB;IAiB5B,SAAS,CACH,GAAG,CAAC,EAAE,qBAAqB;IAMjC,gBAAgB,CAClB,OAAO,EAAE,MAAM,EACP,GAAG,CAAC,EAAE,eAAe,EACrB,EAAE,CAAC,EAAE,iBAAiB,EACtB,EAAE,CAAC,EAAE,iBAAiB;;;;;IAsE5B,QAAQ,CACV,OAAO,EAAE,MAAM,EACP,GAAG,CAAC,EAAE,eAAe,EACrB,GAAG,CAAC,EAAE,mBAAmB,EACzB,GAAG,CAAC,EAAE,sBAAsB;IAiDlC,UAAU,CACJ,EAAE,CAAC,EAAE,iBAAiB,EACtB,GAAG,CAAC,EAAE,eAAe,EACrB,GAAG,CAAC,EAAE,mBAAmB;CAsHxC"}
|
|
@@ -99,6 +99,10 @@ export default class DispatchEmailToMX extends Workflow {
|
|
|
99
99
|
const { external } = this.input;
|
|
100
100
|
for (let index = 0; index < 5; index++) {
|
|
101
101
|
try {
|
|
102
|
+
const pauseSendingTill = await this.getPauseSendingTill(index);
|
|
103
|
+
if (pauseSendingTill) {
|
|
104
|
+
await this.delay(TimeSpan.fromSeconds(pauseSendingTill));
|
|
105
|
+
}
|
|
102
106
|
const status = this.response = await (external ? this.sendExternalMail(index) : this.sendMail(index));
|
|
103
107
|
switch (status.statusCode) {
|
|
104
108
|
case SmtpStatusCodes.Ok:
|
|
@@ -124,6 +128,19 @@ export default class DispatchEmailToMX extends Workflow {
|
|
|
124
128
|
await this.saveStatus();
|
|
125
129
|
return "Failed after multiple attempts";
|
|
126
130
|
}
|
|
131
|
+
async getPauseSendingTill(i, db) {
|
|
132
|
+
const pause = await db.domains
|
|
133
|
+
.where(this.input, (x, p) => x.name === p.host && x.pauseSendingTill !== null)
|
|
134
|
+
.first();
|
|
135
|
+
if (!pause?.pauseSendingTill) {
|
|
136
|
+
return 0;
|
|
137
|
+
}
|
|
138
|
+
const ts = DateTime.from(pause.pauseSendingTill).diff(DateTime.now);
|
|
139
|
+
if (ts.totalSeconds > 0) {
|
|
140
|
+
return ts.totalMilliseconds;
|
|
141
|
+
}
|
|
142
|
+
return 0;
|
|
143
|
+
}
|
|
127
144
|
async signEmail(mds) {
|
|
128
145
|
return await mds.encodeForBulk(this.input);
|
|
129
146
|
}
|
|
@@ -172,6 +189,12 @@ export default class DispatchEmailToMX extends Workflow {
|
|
|
172
189
|
// since remote file might be compressed
|
|
173
190
|
const status = await client.sendRequest(from, [recipientAddress], file);
|
|
174
191
|
if (Number(status.statusCode) >= 400) {
|
|
192
|
+
if (/deferred|throttle/i.test(status.logs)) {
|
|
193
|
+
await db.domains.withKeys({ name: host })
|
|
194
|
+
.update({
|
|
195
|
+
pauseSendingTill: DateTime.now.addMinutes(1)
|
|
196
|
+
});
|
|
197
|
+
}
|
|
175
198
|
ServerLogger.reportError({
|
|
176
199
|
error: status.logs,
|
|
177
200
|
host,
|
|
@@ -251,6 +274,12 @@ export default class DispatchEmailToMX extends Workflow {
|
|
|
251
274
|
await db.subscriberActivities.statements.update({ activity: "sent" }, { activityID });
|
|
252
275
|
}
|
|
253
276
|
else {
|
|
277
|
+
const { recipientAddress } = this.input;
|
|
278
|
+
console.log(JSON.stringify({
|
|
279
|
+
emailID,
|
|
280
|
+
sent: true,
|
|
281
|
+
recipient: recipientAddress
|
|
282
|
+
}));
|
|
254
283
|
await db.emailRecipients.statements.update({
|
|
255
284
|
emailID,
|
|
256
285
|
emailAddressID,
|
|
@@ -332,6 +361,13 @@ export default class DispatchEmailToMX extends Workflow {
|
|
|
332
361
|
}
|
|
333
362
|
}
|
|
334
363
|
}
|
|
364
|
+
__decorate([
|
|
365
|
+
UniqueActivity,
|
|
366
|
+
__param(1, Inject),
|
|
367
|
+
__metadata("design:type", Function),
|
|
368
|
+
__metadata("design:paramtypes", [Object, SocialMailContext]),
|
|
369
|
+
__metadata("design:returntype", Promise)
|
|
370
|
+
], DispatchEmailToMX.prototype, "getPauseSendingTill", null);
|
|
335
371
|
__decorate([
|
|
336
372
|
UniqueActivity,
|
|
337
373
|
__param(0, Inject),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DispatchEmailToMX.js","sourceRoot":"","sources":["../../../../src/server/workflows/smtp/DispatchEmailToMX.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DispatchEmailToMX.js","sourceRoot":"","sources":["../../../../src/server/workflows/smtp/DispatchEmailToMX.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@social-mail/social-mail-web-server",
|
|
3
|
-
"version": "1.16.
|
|
3
|
+
"version": "1.16.102",
|
|
4
4
|
"description": "## Phase 1",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@aws-sdk/client-s3": "^3.990.0",
|
|
24
24
|
"@azure/storage-blob": "^12.31.0",
|
|
25
|
-
"@entity-access/entity-access": "^1.2.
|
|
25
|
+
"@entity-access/entity-access": "^1.2.16",
|
|
26
26
|
"@entity-access/server-pages": "^1.1.654",
|
|
27
27
|
"@parse/node-apn": "^6.5.0",
|
|
28
28
|
"@paypal/paypal-server-sdk": "^2.2.0",
|
|
@@ -8,6 +8,7 @@ import type ServerActivity from "./ServerActivity.js";
|
|
|
8
8
|
import type Mailbox from "./Mailbox.js";
|
|
9
9
|
import type HostedZone from "./HostedZone.js";
|
|
10
10
|
import type SubscriptionDomain from "./SubscriptionDomain.js";
|
|
11
|
+
import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
|
|
11
12
|
|
|
12
13
|
@Table("Domains")
|
|
13
14
|
@Index({
|
|
@@ -33,6 +34,9 @@ export default class Domain {
|
|
|
33
34
|
@Column({ dataType: "Boolean", default: () => false})
|
|
34
35
|
whiteListed: boolean;
|
|
35
36
|
|
|
37
|
+
@Column({ dataType: "DateTime", nullable: true})
|
|
38
|
+
pauseSendingTill: DateTime;
|
|
39
|
+
|
|
36
40
|
public hostedDomain: HostedDomain;
|
|
37
41
|
|
|
38
42
|
public emailAddresses: EmailAddress[];
|
|
@@ -4,16 +4,19 @@ import Workflow, { UniqueActivity } from "@entity-access/entity-access/dist/work
|
|
|
4
4
|
import SocialMailContext from "../../model/SocialMailContext.js";
|
|
5
5
|
import EmailPostReceiveService from "../../smtp/services/EmailPostReceiveService.js";
|
|
6
6
|
import { AppWorkflowContext } from "../AppWorkflowContext.js";
|
|
7
|
+
import TimeSpan from "@entity-access/entity-access/dist/types/TimeSpan.js";
|
|
7
8
|
|
|
8
9
|
export default class PendingPostReceiveWorkflow extends Workflow {
|
|
9
10
|
|
|
10
|
-
static taskGroup = "
|
|
11
|
+
static taskGroup = "batch";
|
|
11
12
|
|
|
12
13
|
static queue(context: AppWorkflowContext) {
|
|
13
14
|
return context.queue(PendingPostReceiveWorkflow, { }, { id: `run-post-receive-workflow`});
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
async run() {
|
|
18
|
+
this.preserveTime = TimeSpan.fromSeconds(15);
|
|
19
|
+
this.failedPreserveTime = TimeSpan.fromSeconds(30);
|
|
17
20
|
let start = 0;
|
|
18
21
|
do {
|
|
19
22
|
start = await this.processPostReceive(start);
|
|
@@ -5,7 +5,6 @@ import SocialMailContext from "../../model/SocialMailContext.js";
|
|
|
5
5
|
import EmailReferenceService from "../../smtp/services/EmailReferenceService.js";
|
|
6
6
|
import { globalEnv } from "../../../common/globalEnv.js";
|
|
7
7
|
import PendingPostReceiveWorkflow from "./PendingPostReceiveWorkflow.js";
|
|
8
|
-
import { randomUUID } from "node:crypto";
|
|
9
8
|
import { AppWorkflowContext } from "../AppWorkflowContext.js";
|
|
10
9
|
|
|
11
10
|
export default class PendingReferencesWorkflow extends Workflow {
|
|
@@ -24,8 +23,7 @@ export default class PendingReferencesWorkflow extends Workflow {
|
|
|
24
23
|
break;
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
|
-
|
|
28
|
-
await this.context.queue(PendingPostReceiveWorkflow, "run", { id: `post-receive-${randomUUID()}`, throttle: { group: "post-receive", maxPerSecond: 1 } } );
|
|
26
|
+
await PendingPostReceiveWorkflow.queue(this.context);
|
|
29
27
|
}
|
|
30
28
|
|
|
31
29
|
@UniqueActivity
|
|
@@ -43,11 +43,18 @@ export default class DispatchEmailToMX extends Workflow<IMessageEnvelope> {
|
|
|
43
43
|
|
|
44
44
|
this.signedFileLogID = await this.signEmail();
|
|
45
45
|
|
|
46
|
+
|
|
46
47
|
const { external } = this.input;
|
|
47
48
|
|
|
48
49
|
for (let index = 0; index < 5; index++) {
|
|
49
50
|
|
|
50
51
|
try {
|
|
52
|
+
|
|
53
|
+
const pauseSendingTill = await this.getPauseSendingTill(index);
|
|
54
|
+
if(pauseSendingTill) {
|
|
55
|
+
await this.delay(TimeSpan.fromSeconds(pauseSendingTill));
|
|
56
|
+
}
|
|
57
|
+
|
|
51
58
|
const status = this.response = await (external ? this.sendExternalMail(index) : this.sendMail(index));
|
|
52
59
|
|
|
53
60
|
switch(status.statusCode) {
|
|
@@ -76,6 +83,23 @@ export default class DispatchEmailToMX extends Workflow<IMessageEnvelope> {
|
|
|
76
83
|
return "Failed after multiple attempts";
|
|
77
84
|
}
|
|
78
85
|
|
|
86
|
+
@UniqueActivity
|
|
87
|
+
async getPauseSendingTill(i,
|
|
88
|
+
@Inject db?: SocialMailContext
|
|
89
|
+
) {
|
|
90
|
+
const pause = await db.domains
|
|
91
|
+
.where(this.input, (x, p) => x.name === p.host && x.pauseSendingTill !== null)
|
|
92
|
+
.first();
|
|
93
|
+
if (!pause?.pauseSendingTill) {
|
|
94
|
+
return 0;
|
|
95
|
+
}
|
|
96
|
+
const ts = DateTime.from(pause.pauseSendingTill).diff(DateTime.now);
|
|
97
|
+
if(ts.totalSeconds > 0) {
|
|
98
|
+
return ts.totalMilliseconds;
|
|
99
|
+
}
|
|
100
|
+
return 0;
|
|
101
|
+
}
|
|
102
|
+
|
|
79
103
|
|
|
80
104
|
@UniqueActivity
|
|
81
105
|
async signEmail(
|
|
@@ -141,6 +165,14 @@ export default class DispatchEmailToMX extends Workflow<IMessageEnvelope> {
|
|
|
141
165
|
// since remote file might be compressed
|
|
142
166
|
const status = await client.sendRequest(from, [recipientAddress], file);
|
|
143
167
|
if (Number(status.statusCode) >= 400) {
|
|
168
|
+
|
|
169
|
+
if(/deferred|throttle/i.test(status.logs)) {
|
|
170
|
+
await db.domains.withKeys({ name: host })
|
|
171
|
+
.update({
|
|
172
|
+
pauseSendingTill: DateTime.now.addMinutes(1)
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
|
|
144
176
|
ServerLogger.reportError({
|
|
145
177
|
error: status.logs,
|
|
146
178
|
host,
|
|
@@ -224,6 +256,15 @@ export default class DispatchEmailToMX extends Workflow<IMessageEnvelope> {
|
|
|
224
256
|
if (activityID) {
|
|
225
257
|
await db.subscriberActivities.statements.update({ activity: "sent" }, { activityID});
|
|
226
258
|
} else {
|
|
259
|
+
|
|
260
|
+
const { recipientAddress } = this.input;
|
|
261
|
+
|
|
262
|
+
console.log(JSON.stringify({
|
|
263
|
+
emailID,
|
|
264
|
+
sent: true,
|
|
265
|
+
recipient: recipientAddress
|
|
266
|
+
}));
|
|
267
|
+
|
|
227
268
|
await db.emailRecipients.statements.update({
|
|
228
269
|
emailID,
|
|
229
270
|
emailAddressID,
|