apple-mail-mcp 2.10.31 → 2.10.32

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.
Files changed (3) hide show
  1. package/build/cli.js +236 -136
  2. package/build/index.js +1218 -745
  3. package/package.json +1 -1
package/build/cli.js CHANGED
@@ -36,9 +36,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
36
36
  mod
37
37
  ));
38
38
 
39
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/punycode/index.js
39
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/punycode/index.js
40
40
  var require_punycode = __commonJS({
41
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/punycode/index.js"(exports, module) {
41
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/punycode/index.js"(exports, module) {
42
42
  "use strict";
43
43
  var maxInt = 2147483647;
44
44
  var base = 36;
@@ -278,9 +278,9 @@ var require_punycode = __commonJS({
278
278
  }
279
279
  });
280
280
 
281
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/shared/url.js
281
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/shared/url.js
282
282
  var require_url = __commonJS({
283
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/shared/url.js"(exports, module) {
283
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/shared/url.js"(exports, module) {
284
284
  "use strict";
285
285
  var urllib = __require("url");
286
286
  var punycode = require_punycode();
@@ -367,9 +367,9 @@ var require_url = __commonJS({
367
367
  }
368
368
  });
369
369
 
370
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/fetch/cookies.js
370
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/fetch/cookies.js
371
371
  var require_cookies = __commonJS({
372
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/fetch/cookies.js"(exports, module) {
372
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/fetch/cookies.js"(exports, module) {
373
373
  "use strict";
374
374
  var urllib = require_url();
375
375
  var SESSION_TIMEOUT = 1800;
@@ -575,12 +575,12 @@ var require_cookies = __commonJS({
575
575
  }
576
576
  });
577
577
 
578
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/package.json
578
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/package.json
579
579
  var require_package = __commonJS({
580
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/package.json"(exports, module) {
580
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/package.json"(exports, module) {
581
581
  module.exports = {
582
582
  name: "nodemailer",
583
- version: "9.0.4",
583
+ version: "9.0.5",
584
584
  description: "Easy as cake e-mail sending from your Node.js applications",
585
585
  main: "lib/nodemailer.js",
586
586
  scripts: {
@@ -607,12 +607,12 @@ var require_package = __commonJS({
607
607
  },
608
608
  homepage: "https://nodemailer.com/",
609
609
  devDependencies: {
610
- "@aws-sdk/client-sesv2": "3.1096.0",
610
+ "@aws-sdk/client-sesv2": "3.1104.0",
611
611
  bunyan: "1.8.15",
612
612
  c8: "12.0.0",
613
613
  eslint: "10.8.0",
614
614
  "eslint-config-prettier": "10.1.8",
615
- globals: "17.8.0",
615
+ globals: "17.9.0",
616
616
  libbase64: "1.3.0",
617
617
  libmime: "5.4.1",
618
618
  libqp: "2.1.1",
@@ -628,9 +628,9 @@ var require_package = __commonJS({
628
628
  }
629
629
  });
630
630
 
631
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/errors.js
631
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/errors.js
632
632
  var require_errors = __commonJS({
633
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/errors.js"(exports, module) {
633
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/errors.js"(exports, module) {
634
634
  "use strict";
635
635
  var ERROR_CODES = {
636
636
  // Connection errors
@@ -669,9 +669,9 @@ var require_errors = __commonJS({
669
669
  }
670
670
  });
671
671
 
672
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/fetch/index.js
672
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/fetch/index.js
673
673
  var require_fetch = __commonJS({
674
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/fetch/index.js"(exports, module) {
674
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/fetch/index.js"(exports, module) {
675
675
  "use strict";
676
676
  var http = __require("http");
677
677
  var https = __require("https");
@@ -921,9 +921,9 @@ var require_fetch = __commonJS({
921
921
  }
922
922
  });
923
923
 
924
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/shared/index.js
924
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/shared/index.js
925
925
  var require_shared = __commonJS({
926
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/shared/index.js"(exports, module) {
926
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/shared/index.js"(exports, module) {
927
927
  "use strict";
928
928
  var urllib = require_url();
929
929
  var util = __require("util");
@@ -1464,9 +1464,9 @@ var require_shared = __commonJS({
1464
1464
  }
1465
1465
  });
1466
1466
 
1467
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/mime-funcs/mime-types.js
1467
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/mime-funcs/mime-types.js
1468
1468
  var require_mime_types = __commonJS({
1469
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/mime-funcs/mime-types.js"(exports, module) {
1469
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/mime-funcs/mime-types.js"(exports, module) {
1470
1470
  "use strict";
1471
1471
  var path = __require("path");
1472
1472
  var defaultMimeType = "application/octet-stream";
@@ -3568,9 +3568,9 @@ var require_mime_types = __commonJS({
3568
3568
  }
3569
3569
  });
3570
3570
 
3571
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/base64/index.js
3571
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/base64/index.js
3572
3572
  var require_base64 = __commonJS({
3573
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/base64/index.js"(exports, module) {
3573
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/base64/index.js"(exports, module) {
3574
3574
  "use strict";
3575
3575
  var { Transform } = __require("stream");
3576
3576
  function encode(buffer) {
@@ -3667,9 +3667,9 @@ var require_base64 = __commonJS({
3667
3667
  }
3668
3668
  });
3669
3669
 
3670
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/qp/index.js
3670
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/qp/index.js
3671
3671
  var require_qp = __commonJS({
3672
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/qp/index.js"(exports, module) {
3672
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/qp/index.js"(exports, module) {
3673
3673
  "use strict";
3674
3674
  var { Transform } = __require("stream");
3675
3675
  var QP_RANGES = [
@@ -3831,9 +3831,9 @@ var require_qp = __commonJS({
3831
3831
  }
3832
3832
  });
3833
3833
 
3834
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/mime-funcs/index.js
3834
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/mime-funcs/index.js
3835
3835
  var require_mime_funcs = __commonJS({
3836
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/mime-funcs/index.js"(exports, module) {
3836
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/mime-funcs/index.js"(exports, module) {
3837
3837
  "use strict";
3838
3838
  var base64 = require_base64();
3839
3839
  var qp = require_qp();
@@ -3845,7 +3845,8 @@ var require_mime_funcs = __commonJS({
3845
3845
  * When isParam is set the value is destined for a header parameter, so HT, CR and LF
3846
3846
  * are not plaintext either: a header parameter has no way to carry them. HT is a valid
3847
3847
  * fold point, so folding and unfolding a header would rewrite it as a space, and CR/LF
3848
- * cannot appear in a header value at all. Such values have to go through the rfc2231
3848
+ * cannot appear in a header value at all. DEL is neither a token character nor qtext,
3849
+ * so it can not be carried bare or quoted. Such values have to go through the rfc2231
3849
3850
  * parameter continuation encoding instead, the same way a quote already does.
3850
3851
  *
3851
3852
  * @param {String} value String to be tested
@@ -3853,9 +3854,19 @@ var require_mime_funcs = __commonJS({
3853
3854
  * @returns {Boolean} true if it is a plaintext string
3854
3855
  */
3855
3856
  isPlainText(value, isParam) {
3856
- const re = isParam ? /[\x00-\x1f"\u0080-\uFFFF]/ : /[\x00-\x08\x0b\x0c\x0e-\x1f\u0080-\uFFFF]/;
3857
+ const re = isParam ? /[\x00-\x1f\x7f"\u0080-\uFFFF]/ : /[\x00-\x08\x0b\x0c\x0e-\x1f\u0080-\uFFFF]/;
3857
3858
  return typeof value === "string" && !re.test(value);
3858
3859
  },
3860
+ /**
3861
+ * Wraps a value into a quoted-string. Inside one a quote would end the string early
3862
+ * and a backslash would escape whatever follows it, so both go out as quoted-pairs.
3863
+ *
3864
+ * @param {String} value String to be quoted
3865
+ * @returns {String} The value as a quoted-string, quotes included
3866
+ */
3867
+ quoteString(value) {
3868
+ return '"' + (value || "").toString().replace(/["\\]/g, "\\$&") + '"';
3869
+ },
3859
3870
  /**
3860
3871
  * Checks if a multi line string containes lines longer than the selected value.
3861
3872
  *
@@ -3970,23 +3981,25 @@ var require_mime_funcs = __commonJS({
3970
3981
  */
3971
3982
  buildHeaderValue(structured) {
3972
3983
  const paramsArray = [];
3973
- Object.keys(structured.params || {}).forEach((param) => {
3974
- const value = structured.params[param];
3975
- if (!this.isPlainText(value, true) || value.length >= 75) {
3976
- this.buildHeaderParam(param, value, 50).forEach((encodedParam) => {
3984
+ Object.keys(structured.params || {}).forEach((key) => {
3985
+ const value2 = structured.params[key];
3986
+ const param = key.replace(/[\x00-\x1f\x7f]/g, "");
3987
+ if (!this.isPlainText(value2, true) || value2.length >= 75) {
3988
+ this.buildHeaderParam(param, value2, 50).forEach((encodedParam) => {
3977
3989
  if (!/[\s"\\;:/=(),<>@[\]?]|^[-']|'$/.test(encodedParam.value) || encodedParam.key.substr(-1) === "*") {
3978
3990
  paramsArray.push(encodedParam.key + "=" + encodedParam.value);
3979
3991
  } else {
3980
3992
  paramsArray.push(encodedParam.key + "=" + JSON.stringify(encodedParam.value));
3981
3993
  }
3982
3994
  });
3983
- } else if (/[\s'"\\;:/=(),<>@[\]?]|^-/.test(value)) {
3984
- paramsArray.push(param + "=" + JSON.stringify(value));
3995
+ } else if (/[\s'"\\;:/=(),<>@[\]?]|^-/.test(value2)) {
3996
+ paramsArray.push(param + "=" + JSON.stringify(value2));
3985
3997
  } else {
3986
- paramsArray.push(param + "=" + value);
3998
+ paramsArray.push(param + "=" + value2);
3987
3999
  }
3988
4000
  });
3989
- return structured.value + (paramsArray.length ? "; " + paramsArray.join("; ") : "");
4001
+ const value = typeof structured.value === "string" ? structured.value.replace(/[\x00-\x1f\x7f]/g, "") : structured.value;
4002
+ return value + (paramsArray.length ? "; " + paramsArray.join("; ") : "");
3990
4003
  },
3991
4004
  /**
3992
4005
  * Encodes a string or an Buffer to an UTF-8 Parameter Value Continuation encoding (rfc2231)
@@ -4062,7 +4075,7 @@ var require_mime_funcs = __commonJS({
4062
4075
  encoded
4063
4076
  });
4064
4077
  line = "";
4065
- startPos = i - 1;
4078
+ encoded = true;
4066
4079
  } else {
4067
4080
  encoded = true;
4068
4081
  i = startPos;
@@ -4328,10 +4341,21 @@ var require_mime_funcs = __commonJS({
4328
4341
  }
4329
4342
  });
4330
4343
 
4331
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/addressparser/index.js
4344
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/addressparser/index.js
4332
4345
  var require_addressparser = __commonJS({
4333
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/addressparser/index.js"(exports, module) {
4346
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/addressparser/index.js"(exports, module) {
4334
4347
  "use strict";
4348
+ function _quoteLocalPart(address) {
4349
+ const lastAt = address.lastIndexOf("@");
4350
+ if (lastAt < 0) {
4351
+ return address;
4352
+ }
4353
+ const user = address.substr(0, lastAt);
4354
+ if (/^[^\s"(),:;<>@[\\\]]+$/.test(user) || /^"(?:[^"\\]|\\[\s\S])*"$/.test(user)) {
4355
+ return address;
4356
+ }
4357
+ return '"' + user.replace(/["\\]/g, "\\$&") + '"@' + address.substr(lastAt + 1);
4358
+ }
4335
4359
  function _handleAddress(tokens, depth) {
4336
4360
  let isGroup = false;
4337
4361
  let state = "text";
@@ -4444,6 +4468,7 @@ var require_addressparser = __commonJS({
4444
4468
  if (data.address.length > 1) {
4445
4469
  data.text = data.text.concat(data.address.splice(1));
4446
4470
  }
4471
+ const addressFromQuotedText = !data.address.length && data.textWasQuoted.some((wasQuoted) => wasQuoted);
4447
4472
  data.text = data.text.join(" ");
4448
4473
  data.address = data.address.join(" ");
4449
4474
  const address = {
@@ -4457,6 +4482,9 @@ var require_addressparser = __commonJS({
4457
4482
  address.address = "";
4458
4483
  }
4459
4484
  }
4485
+ if (addressFromQuotedText && address.address) {
4486
+ address.address = _quoteLocalPart(address.address);
4487
+ }
4460
4488
  addresses.push(address);
4461
4489
  }
4462
4490
  return addresses;
@@ -4620,9 +4648,9 @@ var require_addressparser = __commonJS({
4620
4648
  }
4621
4649
  });
4622
4650
 
4623
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/mime-node/last-newline.js
4651
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/mime-node/last-newline.js
4624
4652
  var require_last_newline = __commonJS({
4625
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/mime-node/last-newline.js"(exports, module) {
4653
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/mime-node/last-newline.js"(exports, module) {
4626
4654
  "use strict";
4627
4655
  var { Transform } = __require("stream");
4628
4656
  var LastNewline = class extends Transform {
@@ -4653,9 +4681,9 @@ var require_last_newline = __commonJS({
4653
4681
  }
4654
4682
  });
4655
4683
 
4656
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/mime-node/le-windows.js
4684
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/mime-node/le-windows.js
4657
4685
  var require_le_windows = __commonJS({
4658
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/mime-node/le-windows.js"(exports, module) {
4686
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/mime-node/le-windows.js"(exports, module) {
4659
4687
  "use strict";
4660
4688
  var { Transform } = __require("stream");
4661
4689
  var LeWindows = class extends Transform {
@@ -4695,9 +4723,9 @@ var require_le_windows = __commonJS({
4695
4723
  }
4696
4724
  });
4697
4725
 
4698
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/mime-node/le-unix.js
4726
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/mime-node/le-unix.js
4699
4727
  var require_le_unix = __commonJS({
4700
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/mime-node/le-unix.js"(exports, module) {
4728
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/mime-node/le-unix.js"(exports, module) {
4701
4729
  "use strict";
4702
4730
  var { Transform } = __require("stream");
4703
4731
  var LeUnix = class extends Transform {
@@ -4730,9 +4758,9 @@ var require_le_unix = __commonJS({
4730
4758
  }
4731
4759
  });
4732
4760
 
4733
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/mime-node/index.js
4761
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/mime-node/index.js
4734
4762
  var require_mime_node = __commonJS({
4735
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/mime-node/index.js"(exports, module) {
4763
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/mime-node/index.js"(exports, module) {
4736
4764
  "use strict";
4737
4765
  var crypto = __require("crypto");
4738
4766
  var fs = __require("fs");
@@ -4749,6 +4777,10 @@ var require_mime_node = __commonJS({
4749
4777
  var LeWindows = require_le_windows();
4750
4778
  var LeUnix = require_le_unix();
4751
4779
  var FORMATTED_HEADERS = ["From", "Sender", "To", "Cc", "Bcc", "Reply-To", "Date", "References"];
4780
+ var ATEXT = "[A-Za-z0-9!#$%&'*+\\-/=?^_`{|}~\\x80-\\uFFFF]";
4781
+ var DOT_ATOM = new RegExp("^" + ATEXT + "+(?:\\." + ATEXT + "+)*$");
4782
+ var QUOTED_STRING = /^"(?:[^"\\]|\\[\s\S])*"$/;
4783
+ var PLAIN_ADDRESS = /^[^\s"(),:;<>@[\\\]]+@[^\s"(),:;<>@[\\\]]+$/;
4752
4784
  var MimeNode = class _MimeNode {
4753
4785
  constructor(contentType, options) {
4754
4786
  this.nodeCounter = 0;
@@ -5103,13 +5135,14 @@ var require_mime_node = __commonJS({
5103
5135
  break;
5104
5136
  case "Content-Type":
5105
5137
  structured = mimeFuncs.parseHeaderValue(value);
5138
+ structured.value = (structured.value || "").toString().replace(/[\x00-\x1f\x7f]/g, "");
5106
5139
  this._handleContentType(structured);
5107
5140
  if (structured.value.match(/^text\/plain\b/) && typeof this.content === "string" && /[\u0080-\uFFFF]/.test(this.content)) {
5108
5141
  structured.params.charset = "utf-8";
5109
5142
  }
5110
5143
  value = mimeFuncs.buildHeaderValue(structured);
5111
5144
  if (this.filename) {
5112
- param = /[\x00-\x1f]/.test(this.filename) ? mimeFuncs.encodeWord(this.filename, this._getTextEncoding(this.filename), 52) : this._encodeWords(this.filename);
5145
+ param = /[\x00-\x1f\x7f]/.test(this.filename) ? mimeFuncs.encodeWord(this.filename, this._getTextEncoding(this.filename), 52) : this._encodeWords(this.filename);
5113
5146
  if (param !== this.filename || /[\s'"\\;:/=(),<>@[\]?]|^-/.test(param)) {
5114
5147
  param = JSON.stringify(param);
5115
5148
  }
@@ -5128,8 +5161,9 @@ var require_mime_node = __commonJS({
5128
5161
  }
5129
5162
  if (typeof this.normalizeHeaderKey === "function") {
5130
5163
  const normalized = this.normalizeHeaderKey(key, value);
5131
- if (normalized && typeof normalized === "string" && normalized.length) {
5132
- key = normalized;
5164
+ const cleaned = typeof normalized === "string" ? normalized.replace(/[\x00-\x1f\x7f]/g, "") : "";
5165
+ if (cleaned) {
5166
+ key = cleaned;
5133
5167
  }
5134
5168
  }
5135
5169
  headers.push(mimeFuncs.foldLines(key + ": " + value, 76));
@@ -5330,7 +5364,7 @@ var require_mime_node = __commonJS({
5330
5364
  };
5331
5365
  if (envelope.from) {
5332
5366
  list = [];
5333
- this._convertAddresses(this._parseAddresses(envelope.from), list);
5367
+ this._convertAddresses(this._parseEnvelopeAddresses(envelope.from), list);
5334
5368
  list = list.filter((address) => address && address.address);
5335
5369
  if (list.length && list[0]) {
5336
5370
  this._envelope.from = list[0].address;
@@ -5338,7 +5372,7 @@ var require_mime_node = __commonJS({
5338
5372
  }
5339
5373
  ["to", "cc", "bcc"].forEach((key) => {
5340
5374
  if (envelope[key]) {
5341
- this._convertAddresses(this._parseAddresses(envelope[key]), this._envelope.to);
5375
+ this._convertAddresses(this._parseEnvelopeAddresses(envelope[key]), this._envelope.to);
5342
5376
  }
5343
5377
  });
5344
5378
  this._envelope.to = this._envelope.to.map((to) => to.address).filter((address) => address);
@@ -5493,14 +5527,58 @@ var require_mime_node = __commonJS({
5493
5527
  [],
5494
5528
  [].concat(addresses).map((address) => {
5495
5529
  if (address && address.address) {
5496
- address.address = this._normalizeAddress(address.address);
5497
- address.name = address.name || "";
5498
- return [address];
5530
+ const normalized = this._normalizeAddress(address.address);
5531
+ if (normalized === address.address && typeof address.name === "string") {
5532
+ return [address];
5533
+ }
5534
+ const copy = Object.assign({}, address);
5535
+ copy.address = normalized;
5536
+ copy.name = address.name || "";
5537
+ return [copy];
5499
5538
  }
5500
- return addressparser(address);
5539
+ return this._normalizeParsedAddresses(addressparser(address));
5501
5540
  })
5502
5541
  );
5503
5542
  }
5543
+ /**
5544
+ * Normalizes the addresses of a freshly parsed address list, groups included.
5545
+ *
5546
+ * Everything this method returns carries a normalized address, whether it arrived as an
5547
+ * object or was parsed out of a header value. Without this the two shapes disagree, and
5548
+ * a consumer reading the parsed form back is handed the ambiguous
5549
+ * 'user@evil.com@good.com' that the header and the envelope no longer carry.
5550
+ *
5551
+ * @param {Array} parsed An array of address objects, as returned by addressparser
5552
+ * @return {Array} The same array, with every address normalized
5553
+ */
5554
+ _normalizeParsedAddresses(parsed) {
5555
+ parsed.forEach((entry) => {
5556
+ if (entry.address) {
5557
+ entry.address = this._normalizeAddress(entry.address);
5558
+ } else if (entry.group) {
5559
+ this._normalizeParsedAddresses(entry.group);
5560
+ }
5561
+ });
5562
+ return parsed;
5563
+ }
5564
+ /**
5565
+ * Parses the addresses of an explicitly set envelope.
5566
+ *
5567
+ * An envelope value is an addr-spec and never a display name, so a bare local username
5568
+ * such as 'root' is the address here. Header parsing has to read the same value as a
5569
+ * display name, as a value with no '@' in it can not be an addr-spec in a header.
5570
+ *
5571
+ * @param {Mixed} addresses Addresses to be parsed
5572
+ * @return {Array} An array of address objects
5573
+ */
5574
+ _parseEnvelopeAddresses(addresses) {
5575
+ return this._parseAddresses(addresses).map((entry) => {
5576
+ if (entry.address || entry.group || !entry.name || /[\s@]/.test(entry.name)) {
5577
+ return entry;
5578
+ }
5579
+ return { address: this._normalizeAddress(entry.name), name: "" };
5580
+ });
5581
+ }
5504
5582
  /**
5505
5583
  * Normalizes a header key, uses Camel-Case form, except for uppercase MIME-
5506
5584
  *
@@ -5508,7 +5586,7 @@ var require_mime_node = __commonJS({
5508
5586
  * @return {String} key in Camel-Case form
5509
5587
  */
5510
5588
  _normalizeHeaderKey(key) {
5511
- key = (key || "").toString().replace(/\r?\n|\r/g, " ").trim().toLowerCase().replace(/^X-SMTPAPI$|^(MIME|DKIM|ARC|BIMI)\b|^[a-z]|-(SPF|FBL|ID|MD5)$|-[a-z]/gi, (c) => c.toUpperCase()).replace(/^Content-Features$/i, "Content-features");
5589
+ key = (key || "").toString().replace(/\r?\n|\r/g, " ").replace(/[\x00-\x1f\x7f]/g, "").trim().toLowerCase().replace(/^X-SMTPAPI$|^(MIME|DKIM|ARC|BIMI)\b|^[a-z]|-(SPF|FBL|ID|MD5)$|-[a-z]/gi, (c) => c.toUpperCase()).replace(/^Content-Features$/i, "Content-features");
5512
5590
  return key;
5513
5591
  }
5514
5592
  /**
@@ -5555,7 +5633,7 @@ var require_mime_node = __commonJS({
5555
5633
  case "Message-ID":
5556
5634
  case "In-Reply-To":
5557
5635
  case "Content-Id":
5558
- value = (value || "").toString().replace(/\r?\n|\r/g, " ");
5636
+ value = (value || "").toString().replace(/\r?\n|\r/g, " ").replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g, "");
5559
5637
  if (value.charAt(0) !== "<") {
5560
5638
  value = "<" + value;
5561
5639
  }
@@ -5568,7 +5646,7 @@ var require_mime_node = __commonJS({
5568
5646
  value = [].concat.apply(
5569
5647
  [],
5570
5648
  [].concat(value || "").map((elm) => {
5571
- elm = (elm || "").toString().replace(/\r?\n|\r/g, " ").trim();
5649
+ elm = (elm || "").toString().replace(/\r?\n|\r/g, " ").replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g, "").trim();
5572
5650
  return elm.replace(/<[^>]*>/g, (str) => str.replace(/\s/g, "")).split(/\s+/);
5573
5651
  })
5574
5652
  ).map((elm) => {
@@ -5586,13 +5664,13 @@ var require_mime_node = __commonJS({
5586
5664
  return value.toUTCString().replace(/GMT/, "+0000");
5587
5665
  }
5588
5666
  value = (value || "").toString().replace(/\r?\n|\r/g, " ");
5589
- return this._encodeWords(value);
5667
+ return this._encodeHeaderText(value);
5590
5668
  case "Content-Type":
5591
5669
  case "Content-Disposition":
5592
5670
  return (value || "").toString().replace(/\r?\n|\r/g, " ");
5593
5671
  default:
5594
5672
  value = (value || "").toString().replace(/\r?\n|\r/g, " ");
5595
- return this._encodeWords(value);
5673
+ return this._encodeHeaderText(value);
5596
5674
  }
5597
5675
  }
5598
5676
  /**
@@ -5609,7 +5687,7 @@ var require_mime_node = __commonJS({
5609
5687
  if (address.address) {
5610
5688
  address.address = this._normalizeAddress(address.address);
5611
5689
  if (!address.name) {
5612
- values.push(address.address.indexOf(" ") >= 0 ? `<${address.address}>` : `${address.address}`);
5690
+ values.push(PLAIN_ADDRESS.test(address.address) ? address.address : `<${address.address}>`);
5613
5691
  } else {
5614
5692
  values.push(`${this._encodeAddressName(address.name)} <${address.address}>`);
5615
5693
  }
@@ -5630,12 +5708,15 @@ var require_mime_node = __commonJS({
5630
5708
  * @return {String} address string
5631
5709
  */
5632
5710
  _normalizeAddress(address) {
5633
- address = (address || "").toString().replace(/[\x00-\x1F<>]+/g, " ").trim();
5711
+ address = (address || "").toString().replace(/[\x00-\x1F\x7F<>]+/g, " ").trim();
5712
+ if (!address) {
5713
+ return address;
5714
+ }
5634
5715
  const lastAt = address.lastIndexOf("@");
5635
5716
  if (lastAt < 0) {
5636
- return address;
5717
+ return this._normalizeLocalPart(address);
5637
5718
  }
5638
- let user = address.substr(0, lastAt);
5719
+ const user = address.substr(0, lastAt);
5639
5720
  const domain = address.substr(lastAt + 1);
5640
5721
  let encodedDomain = domain;
5641
5722
  try {
@@ -5646,15 +5727,25 @@ var require_mime_node = __commonJS({
5646
5727
  }
5647
5728
  } catch (_err) {
5648
5729
  }
5649
- if (user.indexOf(" ") >= 0) {
5650
- if (user.charAt(0) !== '"') {
5651
- user = '"' + user;
5652
- }
5653
- if (user.substr(-1) !== '"') {
5654
- user = user + '"';
5655
- }
5730
+ return `${this._normalizeLocalPart(user)}@${encodedDomain}`;
5731
+ }
5732
+ /**
5733
+ * Normalizes the local part of an address into a form that can be emitted as is.
5734
+ *
5735
+ * A local part is either a dot-atom or a quoted-string, anything else is not a valid
5736
+ * addr-spec. The quotes of a quoted local part get lost along the way, and a bare
5737
+ * 'user@evil.com@good.com' leaves it to the receiver which '@' splits the domain off,
5738
+ * while the split here is always at the last one. So whatever is not already one of
5739
+ * the two valid forms goes back out as a quoted-string.
5740
+ *
5741
+ * @param {String} user Local part of an address
5742
+ * @return {String} Local part as a dot-atom or as a quoted-string
5743
+ */
5744
+ _normalizeLocalPart(user) {
5745
+ if (DOT_ATOM.test(user) || QUOTED_STRING.test(user)) {
5746
+ return user;
5656
5747
  }
5657
- return `${user}@${encodedDomain}`;
5748
+ return mimeFuncs.quoteString(user);
5658
5749
  }
5659
5750
  /**
5660
5751
  * If needed, mime encodes the name part
@@ -5665,13 +5756,27 @@ var require_mime_node = __commonJS({
5665
5756
  _encodeAddressName(name) {
5666
5757
  if (!/^[\w ]*$/.test(name)) {
5667
5758
  if (/^[\x20-\x7e]*$/.test(name)) {
5668
- return '"' + name.replace(/([\\"])/g, "\\$1") + '"';
5759
+ return mimeFuncs.quoteString(name);
5669
5760
  } else {
5670
5761
  return mimeFuncs.encodeWord(name, this._getTextEncoding(name), 52);
5671
5762
  }
5672
5763
  }
5673
5764
  return name;
5674
5765
  }
5766
+ /**
5767
+ * Encodes an unstructured header value. Such a value can only carry VCHAR and WSP, so a
5768
+ * control char or DEL has to be forced into the mime encoded word that a non-ascii value
5769
+ * would get anyway. HT stays as it is, it is valid folding whitespace here.
5770
+ *
5771
+ * @param {String} value Header value to encode
5772
+ * @returns {String} Mime word encoded string if needed
5773
+ */
5774
+ _encodeHeaderText(value) {
5775
+ return /[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/.test(value) ? mimeFuncs.encodeWord(value, this._getTextEncoding(value), 52) : (
5776
+ // encodeWords only encodes if needed, otherwise the original string is returned
5777
+ this._encodeWords(value)
5778
+ );
5779
+ }
5675
5780
  /**
5676
5781
  * If needed, mime encodes the name part
5677
5782
  *
@@ -5722,9 +5827,9 @@ var require_mime_node = __commonJS({
5722
5827
  }
5723
5828
  });
5724
5829
 
5725
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/mail-composer/index.js
5830
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/mail-composer/index.js
5726
5831
  var require_mail_composer = __commonJS({
5727
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/mail-composer/index.js"(exports, module) {
5832
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/mail-composer/index.js"(exports, module) {
5728
5833
  "use strict";
5729
5834
  var MimeNode = require_mime_node();
5730
5835
  var mimeFuncs = require_mime_funcs();
@@ -6209,9 +6314,9 @@ var require_mail_composer = __commonJS({
6209
6314
  }
6210
6315
  });
6211
6316
 
6212
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/dkim/message-parser.js
6317
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/dkim/message-parser.js
6213
6318
  var require_message_parser = __commonJS({
6214
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/dkim/message-parser.js"(exports, module) {
6319
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/dkim/message-parser.js"(exports, module) {
6215
6320
  "use strict";
6216
6321
  var { Transform } = __require("stream");
6217
6322
  var MessageParser = class extends Transform {
@@ -6338,9 +6443,9 @@ var require_message_parser = __commonJS({
6338
6443
  }
6339
6444
  });
6340
6445
 
6341
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/dkim/relaxed-body.js
6446
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/dkim/relaxed-body.js
6342
6447
  var require_relaxed_body = __commonJS({
6343
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/dkim/relaxed-body.js"(exports, module) {
6448
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/dkim/relaxed-body.js"(exports, module) {
6344
6449
  "use strict";
6345
6450
  var { Transform } = __require("stream");
6346
6451
  var crypto = __require("crypto");
@@ -6447,9 +6552,9 @@ var require_relaxed_body = __commonJS({
6447
6552
  }
6448
6553
  });
6449
6554
 
6450
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/dkim/sign.js
6555
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/dkim/sign.js
6451
6556
  var require_sign = __commonJS({
6452
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/dkim/sign.js"(exports, module) {
6557
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/dkim/sign.js"(exports, module) {
6453
6558
  "use strict";
6454
6559
  var punycode = require_punycode();
6455
6560
  var mimeFuncs = require_mime_funcs();
@@ -6473,15 +6578,16 @@ var require_sign = __commonJS({
6473
6578
  };
6474
6579
  module.exports.relaxedHeaders = relaxedHeaders;
6475
6580
  function generateDKIMHeader(domainName, keySelector, fieldNames, hashAlgo, bodyHash) {
6581
+ const cleanTagValue = (value) => (value || "").toString().replace(/[\x00-\x1f\x7f;=]/g, "");
6476
6582
  const dkim = [
6477
6583
  "v=1",
6478
6584
  "a=rsa-" + hashAlgo,
6479
6585
  "c=relaxed/relaxed",
6480
- "d=" + punycode.toASCII(domainName),
6586
+ "d=" + punycode.toASCII(cleanTagValue(domainName)),
6481
6587
  "q=dns/txt",
6482
- "s=" + keySelector,
6588
+ "s=" + cleanTagValue(keySelector),
6483
6589
  "bh=" + bodyHash,
6484
- "h=" + fieldNames
6590
+ "h=" + cleanTagValue(fieldNames)
6485
6591
  ].join("; ");
6486
6592
  return mimeFuncs.foldLines("DKIM-Signature: " + dkim, 76) + ";\r\n b=";
6487
6593
  }
@@ -6520,9 +6626,9 @@ var require_sign = __commonJS({
6520
6626
  }
6521
6627
  });
6522
6628
 
6523
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/dkim/index.js
6629
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/dkim/index.js
6524
6630
  var require_dkim = __commonJS({
6525
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/dkim/index.js"(exports, module) {
6631
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/dkim/index.js"(exports, module) {
6526
6632
  "use strict";
6527
6633
  var MessageParser = require_message_parser();
6528
6634
  var RelaxedBody = require_relaxed_body();
@@ -6715,9 +6821,9 @@ var require_dkim = __commonJS({
6715
6821
  }
6716
6822
  });
6717
6823
 
6718
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/smtp-connection/http-proxy-client.js
6824
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/smtp-connection/http-proxy-client.js
6719
6825
  var require_http_proxy_client = __commonJS({
6720
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/smtp-connection/http-proxy-client.js"(exports, module) {
6826
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/smtp-connection/http-proxy-client.js"(exports, module) {
6721
6827
  "use strict";
6722
6828
  var net = __require("net");
6723
6829
  var tls = __require("tls");
@@ -6831,9 +6937,9 @@ var require_http_proxy_client = __commonJS({
6831
6937
  }
6832
6938
  });
6833
6939
 
6834
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/mailer/mail-message.js
6940
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/mailer/mail-message.js
6835
6941
  var require_mail_message = __commonJS({
6836
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/mailer/mail-message.js"(exports, module) {
6942
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/mailer/mail-message.js"(exports, module) {
6837
6943
  "use strict";
6838
6944
  var shared = require_shared();
6839
6945
  var MimeNode = require_mime_node();
@@ -6950,7 +7056,7 @@ var require_mail_message = __commonJS({
6950
7056
  setImmediate(() => resolveNext());
6951
7057
  }
6952
7058
  normalize(callback) {
6953
- const envelope = this.data.envelope || this.message.getEnvelope();
7059
+ const envelope = this.message.getEnvelope();
6954
7060
  const messageId = this.message.messageId();
6955
7061
  this.resolveAll((err, data) => {
6956
7062
  if (err) {
@@ -7060,19 +7166,13 @@ var require_mail_message = __commonJS({
7060
7166
  };
7061
7167
  }
7062
7168
  if (value2 && value2.url) {
7063
- if (key.toLowerCase().trim() === "id") {
7064
- let comment2 = (value2.comment || "").toString().replace(/\r?\n|\r/g, " ");
7065
- if (mimeFuncs.isPlainText(comment2)) {
7066
- comment2 = '"' + comment2 + '"';
7067
- } else {
7068
- comment2 = mimeFuncs.encodeWord(comment2);
7069
- }
7070
- return (value2.comment ? comment2 + " " : "") + this._formatListUrl(value2.url).replace(/^<[^:]+:\/{0,2}/, "<");
7071
- }
7072
7169
  let comment = (value2.comment || "").toString().replace(/\r?\n|\r/g, " ");
7073
- if (!mimeFuncs.isPlainText(comment)) {
7074
- comment = mimeFuncs.encodeWord(comment);
7170
+ const needsEncoding = !mimeFuncs.isPlainText(comment) || /\x7f/.test(comment);
7171
+ if (key.toLowerCase().trim() === "id") {
7172
+ comment = needsEncoding ? mimeFuncs.encodeWord(comment) : mimeFuncs.quoteString(comment);
7173
+ return (value2.comment ? comment + " " : "") + this._formatListUrl(value2.url).replace(/^<[^:]+:\/{0,2}/, "<");
7075
7174
  }
7175
+ comment = needsEncoding ? mimeFuncs.encodeWord(comment) : comment.replace(/[()\\]/g, "\\$&");
7076
7176
  return this._formatListUrl(value2.url) + (value2.comment ? " (" + comment + ")" : "");
7077
7177
  }
7078
7178
  return "";
@@ -7081,7 +7181,7 @@ var require_mail_message = __commonJS({
7081
7181
  }));
7082
7182
  }
7083
7183
  _formatListUrl(url) {
7084
- url = url.replace(/[\s<]+|[\s>]+/g, "");
7184
+ url = url.replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g, "").replace(/[\s<]+|[\s>]+/g, "");
7085
7185
  if (/^(https?|mailto|ftp):/.test(url)) {
7086
7186
  return "<" + url + ">";
7087
7187
  }
@@ -7095,9 +7195,9 @@ var require_mail_message = __commonJS({
7095
7195
  }
7096
7196
  });
7097
7197
 
7098
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/mailer/index.js
7198
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/mailer/index.js
7099
7199
  var require_mailer = __commonJS({
7100
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/mailer/index.js"(exports, module) {
7200
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/mailer/index.js"(exports, module) {
7101
7201
  "use strict";
7102
7202
  var EventEmitter = __require("events");
7103
7203
  var shared = require_shared();
@@ -7486,9 +7586,9 @@ var require_mailer = __commonJS({
7486
7586
  }
7487
7587
  });
7488
7588
 
7489
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/smtp-connection/data-stream.js
7589
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/smtp-connection/data-stream.js
7490
7590
  var require_data_stream = __commonJS({
7491
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/smtp-connection/data-stream.js"(exports, module) {
7591
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/smtp-connection/data-stream.js"(exports, module) {
7492
7592
  "use strict";
7493
7593
  var { Transform } = __require("stream");
7494
7594
  var DataStream = class extends Transform {
@@ -7573,9 +7673,9 @@ var require_data_stream = __commonJS({
7573
7673
  }
7574
7674
  });
7575
7675
 
7576
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/smtp-connection/index.js
7676
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/smtp-connection/index.js
7577
7677
  var require_smtp_connection = __commonJS({
7578
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/smtp-connection/index.js"(exports, module) {
7678
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/smtp-connection/index.js"(exports, module) {
7579
7679
  "use strict";
7580
7680
  var packageInfo = require_package();
7581
7681
  var { EventEmitter } = __require("events");
@@ -9074,9 +9174,9 @@ var require_smtp_connection = __commonJS({
9074
9174
  }
9075
9175
  });
9076
9176
 
9077
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/xoauth2/index.js
9177
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/xoauth2/index.js
9078
9178
  var require_xoauth2 = __commonJS({
9079
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/xoauth2/index.js"(exports, module) {
9179
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/xoauth2/index.js"(exports, module) {
9080
9180
  "use strict";
9081
9181
  var { Stream } = __require("stream");
9082
9182
  var nmfetch = require_fetch();
@@ -9434,9 +9534,9 @@ var require_xoauth2 = __commonJS({
9434
9534
  }
9435
9535
  });
9436
9536
 
9437
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/smtp-pool/pool-resource.js
9537
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/smtp-pool/pool-resource.js
9438
9538
  var require_pool_resource = __commonJS({
9439
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/smtp-pool/pool-resource.js"(exports, module) {
9539
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/smtp-pool/pool-resource.js"(exports, module) {
9440
9540
  "use strict";
9441
9541
  var SMTPConnection = require_smtp_connection();
9442
9542
  var assign = require_shared().assign;
@@ -9655,9 +9755,9 @@ var require_pool_resource = __commonJS({
9655
9755
  }
9656
9756
  });
9657
9757
 
9658
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/well-known/services.json
9758
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/well-known/services.json
9659
9759
  var require_services = __commonJS({
9660
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/well-known/services.json"(exports, module) {
9760
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/well-known/services.json"(exports, module) {
9661
9761
  module.exports = {
9662
9762
  "1und1": {
9663
9763
  description: "1&1 Mail (German hosting provider)",
@@ -10207,9 +10307,9 @@ var require_services = __commonJS({
10207
10307
  }
10208
10308
  });
10209
10309
 
10210
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/well-known/index.js
10310
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/well-known/index.js
10211
10311
  var require_well_known = __commonJS({
10212
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/well-known/index.js"(exports, module) {
10312
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/well-known/index.js"(exports, module) {
10213
10313
  "use strict";
10214
10314
  var services = require_services();
10215
10315
  var normalized = {};
@@ -10243,9 +10343,9 @@ var require_well_known = __commonJS({
10243
10343
  }
10244
10344
  });
10245
10345
 
10246
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/smtp-pool/index.js
10346
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/smtp-pool/index.js
10247
10347
  var require_smtp_pool = __commonJS({
10248
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/smtp-pool/index.js"(exports, module) {
10348
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/smtp-pool/index.js"(exports, module) {
10249
10349
  "use strict";
10250
10350
  var EventEmitter = __require("events");
10251
10351
  var PoolResource = require_pool_resource();
@@ -10782,9 +10882,9 @@ var require_smtp_pool = __commonJS({
10782
10882
  }
10783
10883
  });
10784
10884
 
10785
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/smtp-transport/index.js
10885
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/smtp-transport/index.js
10786
10886
  var require_smtp_transport = __commonJS({
10787
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/smtp-transport/index.js"(exports, module) {
10887
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/smtp-transport/index.js"(exports, module) {
10788
10888
  "use strict";
10789
10889
  var EventEmitter = __require("events");
10790
10890
  var SMTPConnection = require_smtp_connection();
@@ -11151,9 +11251,9 @@ var require_smtp_transport = __commonJS({
11151
11251
  }
11152
11252
  });
11153
11253
 
11154
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/sendmail-transport/index.js
11254
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/sendmail-transport/index.js
11155
11255
  var require_sendmail_transport = __commonJS({
11156
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/sendmail-transport/index.js"(exports, module) {
11256
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/sendmail-transport/index.js"(exports, module) {
11157
11257
  "use strict";
11158
11258
  var { spawn } = __require("child_process");
11159
11259
  var packageData = require_package();
@@ -11193,10 +11293,10 @@ var require_sendmail_transport = __commonJS({
11193
11293
  */
11194
11294
  send(mail, done) {
11195
11295
  mail.message.keepBcc = true;
11196
- const envelope = mail.data.envelope || mail.message.getEnvelope();
11296
+ const envelope = mail.message.getEnvelope();
11197
11297
  const messageId = mail.message.messageId();
11198
11298
  let returned;
11199
- const hasInvalidAddresses = [].concat(envelope.from || []).concat(envelope.to || []).some((addr) => /^-/.test(addr));
11299
+ const hasInvalidAddresses = [].concat(envelope.from || []).concat(envelope.to || []).some((addr) => /^"?-/.test(addr));
11200
11300
  if (hasInvalidAddresses) {
11201
11301
  const err = new Error("Can not send mail. Invalid envelope addresses.");
11202
11302
  err.code = errors.ESENDMAIL;
@@ -11327,9 +11427,9 @@ var require_sendmail_transport = __commonJS({
11327
11427
  }
11328
11428
  });
11329
11429
 
11330
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/stream-transport/index.js
11430
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/stream-transport/index.js
11331
11431
  var require_stream_transport = __commonJS({
11332
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/stream-transport/index.js"(exports, module) {
11432
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/stream-transport/index.js"(exports, module) {
11333
11433
  "use strict";
11334
11434
  var packageData = require_package();
11335
11435
  var shared = require_shared();
@@ -11354,7 +11454,7 @@ var require_stream_transport = __commonJS({
11354
11454
  */
11355
11455
  send(mail, done) {
11356
11456
  mail.message.keepBcc = true;
11357
- const envelope = mail.data.envelope || mail.message.getEnvelope();
11457
+ const envelope = mail.message.getEnvelope();
11358
11458
  const messageId = mail.message.messageId();
11359
11459
  const recipients = [].concat(envelope.to || []);
11360
11460
  if (recipients.length > 3) {
@@ -11448,9 +11548,9 @@ var require_stream_transport = __commonJS({
11448
11548
  }
11449
11549
  });
11450
11550
 
11451
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/json-transport/index.js
11551
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/json-transport/index.js
11452
11552
  var require_json_transport = __commonJS({
11453
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/json-transport/index.js"(exports, module) {
11553
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/json-transport/index.js"(exports, module) {
11454
11554
  "use strict";
11455
11555
  var packageData = require_package();
11456
11556
  var shared = require_shared();
@@ -11472,7 +11572,7 @@ var require_json_transport = __commonJS({
11472
11572
  */
11473
11573
  send(mail, done) {
11474
11574
  mail.message.keepBcc = true;
11475
- const envelope = mail.data.envelope || mail.message.getEnvelope();
11575
+ const envelope = mail.message.getEnvelope();
11476
11576
  const messageId = mail.message.messageId();
11477
11577
  const recipients = [].concat(envelope.to || []);
11478
11578
  if (recipients.length > 3) {
@@ -11517,9 +11617,9 @@ var require_json_transport = __commonJS({
11517
11617
  }
11518
11618
  });
11519
11619
 
11520
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/ses-transport/index.js
11620
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/ses-transport/index.js
11521
11621
  var require_ses_transport = __commonJS({
11522
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/ses-transport/index.js"(exports, module) {
11622
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/ses-transport/index.js"(exports, module) {
11523
11623
  "use strict";
11524
11624
  var EventEmitter = __require("events");
11525
11625
  var packageData = require_package();
@@ -11566,7 +11666,7 @@ var require_ses_transport = __commonJS({
11566
11666
  const mimeNode = new MimeNode("text/plain");
11567
11667
  fromHeader = mimeNode._convertAddresses(mimeNode._parseAddresses(fromHeader.value));
11568
11668
  }
11569
- const envelope = mail.data.envelope || mail.message.getEnvelope();
11669
+ const envelope = mail.message.getEnvelope();
11570
11670
  const messageId = mail.message.messageId();
11571
11671
  const recipients = [].concat(envelope.to || []);
11572
11672
  if (recipients.length > 3) {
@@ -11736,9 +11836,9 @@ var require_ses_transport = __commonJS({
11736
11836
  }
11737
11837
  });
11738
11838
 
11739
- // node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/nodemailer.js
11839
+ // node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/nodemailer.js
11740
11840
  var require_nodemailer = __commonJS({
11741
- "node_modules/.pnpm/nodemailer@9.0.4/node_modules/nodemailer/lib/nodemailer.js"(exports, module) {
11841
+ "node_modules/.pnpm/nodemailer@9.0.5/node_modules/nodemailer/lib/nodemailer.js"(exports, module) {
11742
11842
  "use strict";
11743
11843
  var Mailer = require_mailer();
11744
11844
  var shared = require_shared();