@social-mail/social-mail-web-server 1.16.72 → 1.16.74

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.
@@ -12,8 +12,10 @@ export default class SmtpServerClient {
12
12
  private tfs;
13
13
  private receiver;
14
14
  private certificateFetcher;
15
+ private continue;
15
16
  constructor(server: SmtpServer, socket: SocketClient);
16
17
  start(): Promise<void>;
18
+ commandQUIT(): void;
17
19
  commandRCPT(to: string, smtpUtf8: any): Promise<void>;
18
20
  commandDATA(): Promise<void>;
19
21
  commandMAIL(from: string, smtpUtf8: any): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"SmtpServerClient.d.ts","sourceRoot":"","sources":["../../../../src/server/smtp/server/SmtpServerClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,YAAY,MAAM,kDAAkD,CAAC;AAW5E,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAuBrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAc,OAAO,CAAC,MAAM;IArBxD,iBAAiB,EAAE,MAAM,CAAC;IAE1B,cAAc,EAAE,MAAM,CAAC;IAEvB,aAAa,EAAE,MAAM,CAAC;IAEtB,IAAI,EAAE,MAAM,CAAC;IAEb,EAAE,EAAE,MAAM,EAAE,CAAC;IAEpB,OAAO,CAAC,EAAE,CAAyB;IAGnC,OAAO,CAAC,GAAG,CAAkB;IAG7B,OAAO,CAAC,QAAQ,CAAsB;IAGtC,OAAO,CAAC,kBAAkB,CAAqB;gBAElB,MAAM,EAAE,UAAU,EAAU,MAAM,EAAE,YAAY;IAGvE,KAAK;IA8CL,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG;IAcrC,WAAW;IA2BX,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG;IAcvC,WAAW,CAAC,IAAI,KAAA;IAOhB,WAAW,CAAC,UAAU,KAAA;IAetB,SAAS,CAAC,IAAI,EAAE,MAAM;IAKtB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAIzC,OAAO;IAKb,KAAK;IASC,eAAe;IA8Bf,kBAAkB;CAS3B"}
1
+ {"version":3,"file":"SmtpServerClient.d.ts","sourceRoot":"","sources":["../../../../src/server/smtp/server/SmtpServerClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,YAAY,MAAM,kDAAkD,CAAC;AAW5E,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAyBrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAc,OAAO,CAAC,MAAM;IAvBxD,iBAAiB,EAAE,MAAM,CAAC;IAE1B,cAAc,EAAE,MAAM,CAAC;IAEvB,aAAa,EAAE,MAAM,CAAC;IAEtB,IAAI,EAAE,MAAM,CAAC;IAEb,EAAE,EAAE,MAAM,EAAE,CAAC;IAEpB,OAAO,CAAC,EAAE,CAAyB;IAGnC,OAAO,CAAC,GAAG,CAAkB;IAG7B,OAAO,CAAC,QAAQ,CAAsB;IAGtC,OAAO,CAAC,kBAAkB,CAAqB;IAE/C,OAAO,CAAC,QAAQ,CAAS;gBAEI,MAAM,EAAE,UAAU,EAAU,MAAM,EAAE,YAAY;IAGvE,KAAK;IA8CX,WAAW;IAKL,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG;IAcrC,WAAW;IAgCX,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG;IAcvC,WAAW,CAAC,IAAI,KAAA;IAOhB,WAAW,CAAC,UAAU,KAAA;IAetB,SAAS,CAAC,IAAI,EAAE,MAAM;IAKtB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAIzC,OAAO;IAKb,KAAK;IASC,eAAe;IA8Bf,kBAAkB;CAS3B"}
@@ -22,6 +22,7 @@ let SmtpServerClient = class SmtpServerClient {
22
22
  this.server = server;
23
23
  this.socket = socket;
24
24
  this.ac = new AbortController();
25
+ this.continue = false;
25
26
  }
26
27
  async start() {
27
28
  this.remoteAddress = this.socket.remoteAddress?.replace(/^\:\:ffff\:/, "");
@@ -38,14 +39,12 @@ let SmtpServerClient = class SmtpServerClient {
38
39
  await this.writeLine(`220 SOCIALMAIL ESMTP ${globalEnv.version} Ready`);
39
40
  if (!this.socket.secure) {
40
41
  if (!await this.processCommands()) {
41
- console.log(`Returning as TLS not started`);
42
42
  return;
43
43
  }
44
44
  }
45
45
  const signal = this.ac.signal;
46
- for (;;) {
46
+ for (; this.continue;) {
47
47
  const line = await this.socket.readLine(signal);
48
- console.log(`Line received: ${line}`);
49
48
  try {
50
49
  const r = runRegexMethod(line, this);
51
50
  if (!r) {
@@ -61,6 +60,11 @@ let SmtpServerClient = class SmtpServerClient {
61
60
  }
62
61
  }
63
62
  }
63
+ await this.writeLine(`221 Closing ESMTP`);
64
+ await this.destroy();
65
+ }
66
+ commandQUIT() {
67
+ this.continue = false;
64
68
  }
65
69
  async commandRCPT(to, smtpUtf8) {
66
70
  if (!this.from) {
@@ -90,7 +94,13 @@ let SmtpServerClient = class SmtpServerClient {
90
94
  // we have reached the end..
91
95
  break;
92
96
  }
93
- await file.appendLine(line);
97
+ // remove first dot
98
+ if (line.startsWith(".")) {
99
+ await file.appendLine(line.substring(1));
100
+ }
101
+ else {
102
+ await file.appendLine(line);
103
+ }
94
104
  await file.appendLine(next);
95
105
  continue;
96
106
  }
@@ -193,6 +203,12 @@ __decorate([
193
203
  Inject,
194
204
  __metadata("design:type", CertificateFetcher)
195
205
  ], SmtpServerClient.prototype, "certificateFetcher", void 0);
206
+ __decorate([
207
+ RegexMethod(/^QUIT\s*$/i),
208
+ __metadata("design:type", Function),
209
+ __metadata("design:paramtypes", []),
210
+ __metadata("design:returntype", void 0)
211
+ ], SmtpServerClient.prototype, "commandQUIT", null);
196
212
  __decorate([
197
213
  RegexMethod(/^RCPT TO:\s*<([^>]+)>(?:\s+SMTPUTF8)?\s*$/i),
198
214
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"SmtpServerClient.js","sourceRoot":"","sources":["../../../../src/server/smtp/server/SmtpServerClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SmtpServerClient.js","sourceRoot":"","sources":["../../../../src/server/smtp/server/SmtpServerClient.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.72",
3
+ "version": "1.16.74",
4
4
  "description": "## Phase 1",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -34,6 +34,8 @@ export default class SmtpServerClient {
34
34
  @Inject
35
35
  private certificateFetcher: CertificateFetcher;
36
36
 
37
+ private continue = false;
38
+
37
39
  constructor(private readonly server: SmtpServer, private socket: SocketClient) {
38
40
  }
39
41
 
@@ -56,15 +58,13 @@ export default class SmtpServerClient {
56
58
 
57
59
  if (!this.socket.secure) {
58
60
  if(!await this.processCommands()) {
59
- console.log(`Returning as TLS not started`);
60
61
  return;
61
62
  }
62
63
  }
63
64
  const signal = this.ac.signal;
64
65
 
65
- for(;;) {
66
+ for(;this.continue;) {
66
67
  const line = await this.socket.readLine(signal);
67
- console.log(`Line received: ${line}`);
68
68
  try {
69
69
  const r = runRegexMethod(line, this);
70
70
  if(!r) {
@@ -80,6 +80,13 @@ export default class SmtpServerClient {
80
80
  }
81
81
  }
82
82
 
83
+ await this.writeLine(`221 Closing ESMTP`);
84
+ await this.destroy();
85
+ }
86
+
87
+ @RegexMethod(/^QUIT\s*$/i)
88
+ commandQUIT() {
89
+ this.continue = false;
83
90
  }
84
91
 
85
92
  @RegexMethod(/^RCPT TO:\s*<([^>]+)>(?:\s+SMTPUTF8)?\s*$/i)
@@ -113,7 +120,12 @@ export default class SmtpServerClient {
113
120
  // we have reached the end..
114
121
  break;
115
122
  }
116
- await file.appendLine(line);
123
+ // remove first dot
124
+ if (line.startsWith(".")) {
125
+ await file.appendLine(line.substring(1));
126
+ } else {
127
+ await file.appendLine(line);
128
+ }
117
129
  await file.appendLine(next);
118
130
  continue;
119
131
  }