@mavogel/awscdk-rootmail 0.1.3 → 0.1.5

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 (179) hide show
  1. package/.jsii +2 -2
  2. package/lib/rootmail.js +1 -1
  3. package/lib/ses-receive.js +1 -1
  4. package/node_modules/@aws-sdk/checksums/package.json +2 -2
  5. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-cjs/index.js +1 -1
  6. package/node_modules/@aws-sdk/client-cloudwatch-logs/package.json +3 -3
  7. package/node_modules/@aws-sdk/client-route-53/dist-cjs/index.js +1 -1
  8. package/node_modules/@aws-sdk/client-route-53/package.json +3 -3
  9. package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +38 -15
  10. package/node_modules/@aws-sdk/client-s3/dist-es/models/enums.js +7 -0
  11. package/node_modules/@aws-sdk/client-s3/dist-es/schemas/schemas_0.js +28 -14
  12. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CopyObjectCommand.d.ts +3 -0
  13. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateMultipartUploadCommand.d.ts +3 -0
  14. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketInventoryConfigurationCommand.d.ts +1 -1
  15. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketNotificationConfigurationCommand.d.ts +3 -3
  16. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectCommand.d.ts +3 -0
  17. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectLockConfigurationCommand.d.ts +4 -0
  18. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectRetentionCommand.d.ts +5 -0
  19. package/node_modules/@aws-sdk/client-s3/dist-types/commands/HeadObjectCommand.d.ts +3 -0
  20. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketInventoryConfigurationsCommand.d.ts +1 -1
  21. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketInventoryConfigurationCommand.d.ts +1 -1
  22. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketNotificationConfigurationCommand.d.ts +3 -3
  23. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectCommand.d.ts +3 -0
  24. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectLockConfigurationCommand.d.ts +4 -0
  25. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectRetentionCommand.d.ts +5 -0
  26. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutPublicAccessBlockCommand.d.ts +1 -1
  27. package/node_modules/@aws-sdk/client-s3/dist-types/models/enums.d.ts +15 -0
  28. package/node_modules/@aws-sdk/client-s3/dist-types/models/models_0.d.ts +186 -49
  29. package/node_modules/@aws-sdk/client-s3/dist-types/models/models_1.d.ts +43 -1
  30. package/node_modules/@aws-sdk/client-s3/dist-types/schemas/schemas_0.d.ts +1 -0
  31. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/commands/PutPublicAccessBlockCommand.d.ts +1 -1
  32. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/models/enums.d.ts +8 -0
  33. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/models/models_0.d.ts +23 -7
  34. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/models/models_1.d.ts +14 -1
  35. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/schemas/schemas_0.d.ts +1 -0
  36. package/node_modules/@aws-sdk/client-s3/package.json +6 -6
  37. package/node_modules/@aws-sdk/client-ses/dist-cjs/index.js +1 -1
  38. package/node_modules/@aws-sdk/client-ses/package.json +3 -3
  39. package/node_modules/@aws-sdk/client-ssm/dist-cjs/index.js +1 -1
  40. package/node_modules/@aws-sdk/client-ssm/package.json +3 -3
  41. package/node_modules/@aws-sdk/core/dist-cjs/submodules/util/index.js +5 -0
  42. package/node_modules/@aws-sdk/core/dist-es/submodules/util/hasOwn.js +3 -0
  43. package/node_modules/@aws-sdk/core/dist-es/submodules/util/index.js +1 -0
  44. package/node_modules/@aws-sdk/core/dist-types/submodules/util/hasOwn.d.ts +4 -0
  45. package/node_modules/@aws-sdk/core/dist-types/submodules/util/index.d.ts +1 -0
  46. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/util/hasOwn.d.ts +1 -0
  47. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/util/index.d.ts +1 -0
  48. package/node_modules/@aws-sdk/core/package.json +1 -1
  49. package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
  50. package/node_modules/@aws-sdk/credential-provider-http/package.json +2 -2
  51. package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
  52. package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
  53. package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
  54. package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
  55. package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
  56. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  57. package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +2 -2
  58. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
  59. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
  60. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
  61. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
  62. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
  63. package/node_modules/@aws-sdk/nested-clients/package.json +2 -2
  64. package/node_modules/@aws-sdk/token-providers/package.json +3 -3
  65. package/node_modules/mailparser/.release-please-manifest.json +1 -1
  66. package/node_modules/mailparser/CHANGELOG.md +28 -0
  67. package/node_modules/mailparser/package.json +2 -2
  68. package/node_modules/nodemailer/CHANGELOG.md +74 -0
  69. package/node_modules/nodemailer/dist/cjs/addressparser/index.d.ts +1 -3
  70. package/node_modules/nodemailer/dist/cjs/addressparser/index.js +176 -13
  71. package/node_modules/nodemailer/dist/cjs/base64/index.d.ts +2 -6
  72. package/node_modules/nodemailer/dist/cjs/base64/index.js +2 -0
  73. package/node_modules/nodemailer/dist/cjs/dkim/index.d.ts +4 -4
  74. package/node_modules/nodemailer/dist/cjs/dkim/message-parser.d.ts +1 -3
  75. package/node_modules/nodemailer/dist/cjs/dkim/message-parser.js +2 -0
  76. package/node_modules/nodemailer/dist/cjs/dkim/relaxed-body.d.ts +3 -22
  77. package/node_modules/nodemailer/dist/cjs/dkim/relaxed-body.js +5 -0
  78. package/node_modules/nodemailer/dist/cjs/dkim/sign.d.ts +5 -5
  79. package/node_modules/nodemailer/dist/cjs/errors.d.ts +8 -8
  80. package/node_modules/nodemailer/dist/cjs/fetch/cookies.d.ts +12 -10
  81. package/node_modules/nodemailer/dist/cjs/fetch/cookies.js +28 -14
  82. package/node_modules/nodemailer/dist/cjs/fetch/index.d.ts +15 -15
  83. package/node_modules/nodemailer/dist/cjs/json-transport/index.d.ts +2 -2
  84. package/node_modules/nodemailer/dist/cjs/mail-composer/index.d.ts +49 -104
  85. package/node_modules/nodemailer/dist/cjs/mail-composer/index.js +11 -2
  86. package/node_modules/nodemailer/dist/cjs/mailer/index.d.ts +21 -28
  87. package/node_modules/nodemailer/dist/cjs/mailer/index.js +19 -5
  88. package/node_modules/nodemailer/dist/cjs/mailer/mail-message.d.ts +8 -12
  89. package/node_modules/nodemailer/dist/cjs/mailer/mail-message.js +2 -0
  90. package/node_modules/nodemailer/dist/cjs/mime-funcs/index.d.ts +1 -1
  91. package/node_modules/nodemailer/dist/cjs/mime-funcs/index.js +4 -1
  92. package/node_modules/nodemailer/dist/cjs/mime-node/index.d.ts +37 -191
  93. package/node_modules/nodemailer/dist/cjs/mime-node/index.js +82 -12
  94. package/node_modules/nodemailer/dist/cjs/mime-node/last-newline.d.ts +1 -3
  95. package/node_modules/nodemailer/dist/cjs/mime-node/last-newline.js +2 -0
  96. package/node_modules/nodemailer/dist/cjs/mime-node/le-unix.d.ts +1 -5
  97. package/node_modules/nodemailer/dist/cjs/mime-node/le-unix.js +1 -0
  98. package/node_modules/nodemailer/dist/cjs/mime-node/le-windows.d.ts +1 -5
  99. package/node_modules/nodemailer/dist/cjs/mime-node/le-windows.js +1 -0
  100. package/node_modules/nodemailer/dist/cjs/nodemailer.d.ts +2 -2
  101. package/node_modules/nodemailer/dist/cjs/package-info.d.ts +1 -1
  102. package/node_modules/nodemailer/dist/cjs/package-info.js +1 -1
  103. package/node_modules/nodemailer/dist/cjs/qp/index.d.ts +2 -5
  104. package/node_modules/nodemailer/dist/cjs/qp/index.js +2 -0
  105. package/node_modules/nodemailer/dist/cjs/sendmail-transport/index.d.ts +4 -6
  106. package/node_modules/nodemailer/dist/cjs/ses-transport/index.d.ts +2 -2
  107. package/node_modules/nodemailer/dist/cjs/ses-transport/index.js +5 -1
  108. package/node_modules/nodemailer/dist/cjs/shared/index.d.ts +31 -37
  109. package/node_modules/nodemailer/dist/cjs/shared/index.js +19 -7
  110. package/node_modules/nodemailer/dist/cjs/smtp-connection/data-stream.d.ts +1 -9
  111. package/node_modules/nodemailer/dist/cjs/smtp-connection/data-stream.js +2 -0
  112. package/node_modules/nodemailer/dist/cjs/smtp-connection/http-proxy-client.d.ts +1 -1
  113. package/node_modules/nodemailer/dist/cjs/smtp-connection/index.d.ts +62 -403
  114. package/node_modules/nodemailer/dist/cjs/smtp-connection/index.js +37 -1
  115. package/node_modules/nodemailer/dist/cjs/smtp-pool/index.d.ts +8 -46
  116. package/node_modules/nodemailer/dist/cjs/smtp-pool/index.js +13 -2
  117. package/node_modules/nodemailer/dist/cjs/smtp-pool/pool-resource.d.ts +2 -4
  118. package/node_modules/nodemailer/dist/cjs/smtp-transport/index.d.ts +16 -16
  119. package/node_modules/nodemailer/dist/cjs/stream-transport/index.d.ts +3 -3
  120. package/node_modules/nodemailer/dist/cjs/well-known/index.d.ts +9 -9
  121. package/node_modules/nodemailer/dist/cjs/well-known/services.js +2 -0
  122. package/node_modules/nodemailer/dist/cjs/xoauth2/index.d.ts +18 -18
  123. package/node_modules/nodemailer/dist/esm/addressparser/index.d.ts +1 -3
  124. package/node_modules/nodemailer/dist/esm/addressparser/index.js +176 -13
  125. package/node_modules/nodemailer/dist/esm/base64/index.d.ts +2 -6
  126. package/node_modules/nodemailer/dist/esm/base64/index.js +2 -0
  127. package/node_modules/nodemailer/dist/esm/dkim/index.d.ts +4 -4
  128. package/node_modules/nodemailer/dist/esm/dkim/message-parser.d.ts +1 -3
  129. package/node_modules/nodemailer/dist/esm/dkim/message-parser.js +2 -0
  130. package/node_modules/nodemailer/dist/esm/dkim/relaxed-body.d.ts +3 -22
  131. package/node_modules/nodemailer/dist/esm/dkim/relaxed-body.js +5 -0
  132. package/node_modules/nodemailer/dist/esm/dkim/sign.d.ts +5 -5
  133. package/node_modules/nodemailer/dist/esm/errors.d.ts +8 -8
  134. package/node_modules/nodemailer/dist/esm/fetch/cookies.d.ts +12 -10
  135. package/node_modules/nodemailer/dist/esm/fetch/cookies.js +25 -14
  136. package/node_modules/nodemailer/dist/esm/fetch/index.d.ts +15 -15
  137. package/node_modules/nodemailer/dist/esm/json-transport/index.d.ts +2 -2
  138. package/node_modules/nodemailer/dist/esm/mail-composer/index.d.ts +49 -104
  139. package/node_modules/nodemailer/dist/esm/mail-composer/index.js +11 -2
  140. package/node_modules/nodemailer/dist/esm/mailer/index.d.ts +21 -28
  141. package/node_modules/nodemailer/dist/esm/mailer/index.js +19 -5
  142. package/node_modules/nodemailer/dist/esm/mailer/mail-message.d.ts +8 -12
  143. package/node_modules/nodemailer/dist/esm/mailer/mail-message.js +2 -0
  144. package/node_modules/nodemailer/dist/esm/mime-funcs/index.d.ts +1 -1
  145. package/node_modules/nodemailer/dist/esm/mime-funcs/index.js +4 -1
  146. package/node_modules/nodemailer/dist/esm/mime-node/index.d.ts +37 -191
  147. package/node_modules/nodemailer/dist/esm/mime-node/index.js +82 -12
  148. package/node_modules/nodemailer/dist/esm/mime-node/last-newline.d.ts +1 -3
  149. package/node_modules/nodemailer/dist/esm/mime-node/last-newline.js +2 -0
  150. package/node_modules/nodemailer/dist/esm/mime-node/le-unix.d.ts +1 -5
  151. package/node_modules/nodemailer/dist/esm/mime-node/le-unix.js +1 -0
  152. package/node_modules/nodemailer/dist/esm/mime-node/le-windows.d.ts +1 -5
  153. package/node_modules/nodemailer/dist/esm/mime-node/le-windows.js +1 -0
  154. package/node_modules/nodemailer/dist/esm/nodemailer.d.ts +2 -2
  155. package/node_modules/nodemailer/dist/esm/package-info.d.ts +1 -1
  156. package/node_modules/nodemailer/dist/esm/package-info.js +1 -1
  157. package/node_modules/nodemailer/dist/esm/qp/index.d.ts +2 -5
  158. package/node_modules/nodemailer/dist/esm/qp/index.js +2 -0
  159. package/node_modules/nodemailer/dist/esm/sendmail-transport/index.d.ts +4 -6
  160. package/node_modules/nodemailer/dist/esm/ses-transport/index.d.ts +2 -2
  161. package/node_modules/nodemailer/dist/esm/ses-transport/index.js +5 -1
  162. package/node_modules/nodemailer/dist/esm/shared/index.d.ts +31 -37
  163. package/node_modules/nodemailer/dist/esm/shared/index.js +19 -7
  164. package/node_modules/nodemailer/dist/esm/smtp-connection/data-stream.d.ts +1 -9
  165. package/node_modules/nodemailer/dist/esm/smtp-connection/data-stream.js +2 -0
  166. package/node_modules/nodemailer/dist/esm/smtp-connection/http-proxy-client.d.ts +1 -1
  167. package/node_modules/nodemailer/dist/esm/smtp-connection/index.d.ts +62 -403
  168. package/node_modules/nodemailer/dist/esm/smtp-connection/index.js +37 -1
  169. package/node_modules/nodemailer/dist/esm/smtp-pool/index.d.ts +8 -46
  170. package/node_modules/nodemailer/dist/esm/smtp-pool/index.js +13 -2
  171. package/node_modules/nodemailer/dist/esm/smtp-pool/pool-resource.d.ts +2 -4
  172. package/node_modules/nodemailer/dist/esm/smtp-transport/index.d.ts +16 -16
  173. package/node_modules/nodemailer/dist/esm/stream-transport/index.d.ts +3 -3
  174. package/node_modules/nodemailer/dist/esm/well-known/index.d.ts +9 -9
  175. package/node_modules/nodemailer/dist/esm/well-known/services.js +2 -0
  176. package/node_modules/nodemailer/dist/esm/xoauth2/index.d.ts +18 -18
  177. package/node_modules/nodemailer/dist/well-known/services.json +2 -2
  178. package/node_modules/nodemailer/package.json +6 -6
  179. package/package.json +1 -1
@@ -225,6 +225,7 @@ class SMTPConnection extends EventEmitter {
225
225
  *
226
226
  * @param opts Connection options (modified in place)
227
227
  * @param callback Called with resolved data on success
228
+ * @internal
228
229
  */
229
230
  _resolveAndConnect(opts, callback) {
230
231
  return shared.resolveHostname(opts, (err, resolved) => {
@@ -250,6 +251,7 @@ class SMTPConnection extends EventEmitter {
250
251
  *
251
252
  * @param opts Connection options
252
253
  * @param secure Whether to use TLS
254
+ * @internal
253
255
  */
254
256
  _connectToHost(opts, secure) {
255
257
  // If the client was closed while DNS resolution was in flight, do not open
@@ -282,6 +284,7 @@ class SMTPConnection extends EventEmitter {
282
284
  }
283
285
  /**
284
286
  * Sets up connection timeout and error handlers
287
+ * @internal
285
288
  */
286
289
  _setupConnectionHandlers() {
287
290
  this._connectionTimeout = setTimeout(() => {
@@ -294,6 +297,7 @@ class SMTPConnection extends EventEmitter {
294
297
  *
295
298
  * @param err Error object or message
296
299
  * @param code Error code
300
+ * @internal
297
301
  */
298
302
  _onConnectionError(err, code) {
299
303
  clearTimeout(this._connectionTimeout);
@@ -617,6 +621,7 @@ class SMTPConnection extends EventEmitter {
617
621
  * the server is opened
618
622
  *
619
623
  * @event
624
+ * @internal
620
625
  */
621
626
  _onConnect() {
622
627
  const socket = this._socket;
@@ -665,6 +670,7 @@ class SMTPConnection extends EventEmitter {
665
670
  *
666
671
  * @event
667
672
  * @param chunk Data chunk coming from the server
673
+ * @internal
668
674
  */
669
675
  _onData(chunk) {
670
676
  if (this._destroyed || !chunk || !chunk.length) {
@@ -698,6 +704,7 @@ class SMTPConnection extends EventEmitter {
698
704
  * @event
699
705
  * @param err Error object
700
706
  * @param type Error name
707
+ * @internal
701
708
  */
702
709
  _onError(err, type, data, command) {
703
710
  clearTimeout(this._connectionTimeout);
@@ -719,6 +726,7 @@ class SMTPConnection extends EventEmitter {
719
726
  this.emit('error', err);
720
727
  this.close();
721
728
  }
729
+ /** @internal */
722
730
  _formatError(message, type, response, command) {
723
731
  let err;
724
732
  if (/Error\]$/i.test(Object.prototype.toString.call(message))) {
@@ -747,6 +755,7 @@ class SMTPConnection extends EventEmitter {
747
755
  * 'close' listener for the socket
748
756
  *
749
757
  * @event
758
+ * @internal
750
759
  */
751
760
  _onClose() {
752
761
  let serverResponse = false;
@@ -776,6 +785,7 @@ class SMTPConnection extends EventEmitter {
776
785
  * 'end' listener for the socket
777
786
  *
778
787
  * @event
788
+ * @internal
779
789
  */
780
790
  _onEnd() {
781
791
  if (this._socket && !this._socket.destroyed) {
@@ -788,12 +798,14 @@ class SMTPConnection extends EventEmitter {
788
798
  * 'timeout' listener for the socket
789
799
  *
790
800
  * @event
801
+ * @internal
791
802
  */
792
803
  _onTimeout() {
793
804
  return this._onError(new Error('Timeout'), 'ETIMEDOUT', false, 'CONN');
794
805
  }
795
806
  /**
796
807
  * Destroys the client, emits 'end'
808
+ * @internal
797
809
  */
798
810
  _destroy() {
799
811
  if (this._destroyed) {
@@ -815,6 +827,7 @@ class SMTPConnection extends EventEmitter {
815
827
  *
816
828
  * @param callback Callback function to run when the connection
817
829
  * has been secured
830
+ * @internal
818
831
  */
819
832
  _upgradeConnection(callback) {
820
833
  // RFC 3207 section 6: the client MUST discard any knowledge obtained from
@@ -875,6 +888,7 @@ class SMTPConnection extends EventEmitter {
875
888
  }
876
889
  /**
877
890
  * Processes queued responses from the server
891
+ * @internal
878
892
  */
879
893
  _processResponse() {
880
894
  if (!this._responseQueue.length) {
@@ -914,6 +928,7 @@ class SMTPConnection extends EventEmitter {
914
928
  *
915
929
  * @param str String to be sent to the server
916
930
  * @param logStr Optional string to be used for logging instead of the actual string
931
+ * @internal
917
932
  */
918
933
  _sendCommand(str, logStr) {
919
934
  if (this._destroyed) {
@@ -939,6 +954,7 @@ class SMTPConnection extends EventEmitter {
939
954
  * {from:'...', to:['...']}
940
955
  * or
941
956
  * {from:{address:'...',name:'...'}, to:[address:'...',name:'...']}
957
+ * @internal
942
958
  */
943
959
  _setEnvelope(envelope, callback) {
944
960
  const args = [];
@@ -1035,6 +1051,7 @@ class SMTPConnection extends EventEmitter {
1035
1051
  }
1036
1052
  this._sendCommand('MAIL FROM:<' + this._envelope.from + '>' + (args.length ? ' ' + args.join(' ') : ''));
1037
1053
  }
1054
+ /** @internal */
1038
1055
  _setDsnEnvelope(params) {
1039
1056
  let ret = (params.ret || params.return || '').toString().toUpperCase() || null;
1040
1057
  if (ret) {
@@ -1077,6 +1094,7 @@ class SMTPConnection extends EventEmitter {
1077
1094
  orcpt
1078
1095
  };
1079
1096
  }
1097
+ /** @internal */
1080
1098
  _getDsnRcptToArgs() {
1081
1099
  const envelope = this._envelope;
1082
1100
  const args = [];
@@ -1092,6 +1110,7 @@ class SMTPConnection extends EventEmitter {
1092
1110
  }
1093
1111
  return args.length ? ' ' + args.join(' ') : '';
1094
1112
  }
1113
+ /** @internal */
1095
1114
  _createSendStream(callback) {
1096
1115
  const envelope = this._envelope;
1097
1116
  const dataStream = new DataStream();
@@ -1143,6 +1162,7 @@ class SMTPConnection extends EventEmitter {
1143
1162
  * SMTP session by sending EHLO command
1144
1163
  *
1145
1164
  * @param str Message from the server
1165
+ * @internal
1146
1166
  */
1147
1167
  _actionGreeting(str) {
1148
1168
  clearTimeout(this._greetingTimeout);
@@ -1164,6 +1184,7 @@ class SMTPConnection extends EventEmitter {
1164
1184
  * error, emit 'error', otherwise treat this as an EHLO response
1165
1185
  *
1166
1186
  * @param str Message from the server
1187
+ * @internal
1167
1188
  */
1168
1189
  _actionLHLO(str) {
1169
1190
  if (str.charAt(0) !== '2') {
@@ -1179,6 +1200,7 @@ class SMTPConnection extends EventEmitter {
1179
1200
  * authentication phase.
1180
1201
  *
1181
1202
  * @param str Message from the server
1203
+ * @internal
1182
1204
  */
1183
1205
  _actionEHLO(str) {
1184
1206
  let match;
@@ -1259,6 +1281,7 @@ class SMTPConnection extends EventEmitter {
1259
1281
  * error, emit 'error', otherwise move into the authentication phase.
1260
1282
  *
1261
1283
  * @param str Message from the server
1284
+ * @internal
1262
1285
  */
1263
1286
  _actionHELO(str) {
1264
1287
  if (str.charAt(0) !== '2') {
@@ -1275,6 +1298,7 @@ class SMTPConnection extends EventEmitter {
1275
1298
  * succeedes restart the EHLO
1276
1299
  *
1277
1300
  * @param str Message from the server
1301
+ * @internal
1278
1302
  */
1279
1303
  _actionSTARTTLS(str) {
1280
1304
  if (str.charAt(0) !== '2') {
@@ -1320,6 +1344,7 @@ class SMTPConnection extends EventEmitter {
1320
1344
  * hosts invalidly use a longer message than VXNlcm5hbWU6
1321
1345
  *
1322
1346
  * @param str Message from the server
1347
+ * @internal
1323
1348
  */
1324
1349
  _actionAUTH_LOGIN_USER(str, callback) {
1325
1350
  if (!/^334[ -]/.test(str)) {
@@ -1340,6 +1365,7 @@ class SMTPConnection extends EventEmitter {
1340
1365
  * base64 encoded again.
1341
1366
  *
1342
1367
  * @param str Message from the server
1368
+ * @internal
1343
1369
  */
1344
1370
  _actionAUTH_CRAM_MD5(str, callback) {
1345
1371
  const challengeMatch = str.match(/^334\s+(.+)$/);
@@ -1363,6 +1389,7 @@ class SMTPConnection extends EventEmitter {
1363
1389
  * the user can be considered logged in. Start waiting for a message to send
1364
1390
  *
1365
1391
  * @param str Message from the server
1392
+ * @internal
1366
1393
  */
1367
1394
  _actionAUTH_CRAM_MD5_PASS(str, callback) {
1368
1395
  if (!str.match(/^235\s+/)) {
@@ -1383,6 +1410,7 @@ class SMTPConnection extends EventEmitter {
1383
1410
  * response needs to be base64 encoded password.
1384
1411
  *
1385
1412
  * @param str Message from the server
1413
+ * @internal
1386
1414
  */
1387
1415
  _actionAUTH_LOGIN_PASS(str, callback) {
1388
1416
  if (!/^334[ -]/.test(str)) {
@@ -1401,6 +1429,7 @@ class SMTPConnection extends EventEmitter {
1401
1429
  * the user can be considered logged in. Start waiting for a message to send
1402
1430
  *
1403
1431
  * @param str Message from the server
1432
+ * @internal
1404
1433
  */
1405
1434
  _actionAUTHComplete(str, isRetry, callback) {
1406
1435
  if (!callback && typeof isRetry === 'function') {
@@ -1442,6 +1471,7 @@ class SMTPConnection extends EventEmitter {
1442
1471
  * Handle response for a MAIL FROM: command
1443
1472
  *
1444
1473
  * @param str Message from the server
1474
+ * @internal
1445
1475
  */
1446
1476
  _actionMAIL(str, callback) {
1447
1477
  const envelope = this._envelope;
@@ -1469,6 +1499,7 @@ class SMTPConnection extends EventEmitter {
1469
1499
  * Handle response for a RCPT TO: command
1470
1500
  *
1471
1501
  * @param str Message from the server
1502
+ * @internal
1472
1503
  */
1473
1504
  _actionRCPT(str, callback) {
1474
1505
  const envelope = this._envelope;
@@ -1515,6 +1546,7 @@ class SMTPConnection extends EventEmitter {
1515
1546
  * Handle response for a DATA command
1516
1547
  *
1517
1548
  * @param str Message from the server
1549
+ * @internal
1518
1550
  */
1519
1551
  _actionDATA(str, callback) {
1520
1552
  const envelope = this._envelope;
@@ -1540,6 +1572,7 @@ class SMTPConnection extends EventEmitter {
1540
1572
  * We expect a single response that defines if the sending succeeded or failed
1541
1573
  *
1542
1574
  * @param str Message from the server
1575
+ * @internal
1543
1576
  */
1544
1577
  _actionSMTPStream(str, callback) {
1545
1578
  if (Number(str.charAt(0)) !== 2) {
@@ -1555,6 +1588,7 @@ class SMTPConnection extends EventEmitter {
1555
1588
  * @param recipient The recipient this response applies to
1556
1589
  * @param final Is this the final recipient?
1557
1590
  * @param str Message from the server
1591
+ * @internal
1558
1592
  */
1559
1593
  _actionLMTPStream(recipient, final, str, callback) {
1560
1594
  const envelope = this._envelope;
@@ -1575,6 +1609,7 @@ class SMTPConnection extends EventEmitter {
1575
1609
  return callback(null, str);
1576
1610
  }
1577
1611
  }
1612
+ /** @internal */
1578
1613
  _handleXOauth2Token(isRetry, callback) {
1579
1614
  this._auth.oauth2.getToken(isRetry, (err, accessToken) => {
1580
1615
  if (err) {
@@ -1597,7 +1632,7 @@ class SMTPConnection extends EventEmitter {
1597
1632
  /**
1598
1633
  *
1599
1634
  * @param command
1600
- * @private
1635
+ * @internal
1601
1636
  */
1602
1637
  _isDestroyedMessage(command) {
1603
1638
  if (this._destroyed) {
@@ -1612,6 +1647,7 @@ class SMTPConnection extends EventEmitter {
1612
1647
  }
1613
1648
  }
1614
1649
  }
1650
+ /** @internal */
1615
1651
  _getHostname() {
1616
1652
  // defaul hostname is machine hostname or [IP]
1617
1653
  let defaultHostname;
@@ -1,5 +1,4 @@
1
1
  import { EventEmitter } from 'node:events';
2
- import PoolResource from './pool-resource.js';
3
2
  import * as shared from '../shared/index.js';
4
3
  import type { SMTPTransportOptions, SMTPTransportGetSocketCallback, SMTPTransportSendCallback, SMTPSentMessageInfo } from '../smtp-transport/index.js';
5
4
  import type MailMessage from '../mailer/mail-message.js';
@@ -9,17 +8,17 @@ import type { default as Mail, SendMailOptions, VerifyCallback } from '../mailer
9
8
  */
10
9
  export interface SMTPPoolOptions extends SMTPTransportOptions {
11
10
  /** Set to true to get this pooled transport from createTransport */
12
- pool?: boolean;
11
+ pool?: boolean | undefined;
13
12
  /** Maximum number of open connections, defaults to 5 */
14
- maxConnections?: number;
13
+ maxConnections?: number | undefined;
15
14
  /** Number of messages a connection sends before it is closed and replaced, defaults to 100 */
16
- maxMessages?: number;
15
+ maxMessages?: number | undefined;
17
16
  /** Maximum number of messages to send in rateDelta milliseconds, unlimited when not set */
18
- rateLimit?: number;
17
+ rateLimit?: number | undefined;
19
18
  /** Time window for rateLimit in milliseconds, defaults to 1000 */
20
- rateDelta?: number;
19
+ rateDelta?: number | undefined;
21
20
  /** How many times a message is requeued when its connection closes while sending, unlimited when not set or negative */
22
- maxRequeues?: number;
21
+ maxRequeues?: number | undefined;
23
22
  }
24
23
  /**
25
24
  * The pool options once the constructor has applied the defaults
@@ -47,7 +46,7 @@ export interface SMTPPoolQueueEntry {
47
46
  /** Callback to run once the message is sent or failed */
48
47
  callback: SMTPPoolSendCallback;
49
48
  /** Message-ID value without the angle brackets, set when the entry is assigned to a connection */
50
- messageId?: string;
49
+ messageId?: string | undefined;
51
50
  }
52
51
  /**
53
52
  * Rate limiter state of the pool
@@ -77,16 +76,11 @@ declare class SMTPPool extends EventEmitter {
77
76
  logger: shared.Logger;
78
77
  name: string;
79
78
  version: string;
80
- _rateLimit: SMTPPoolRateLimit;
81
- _closed: boolean;
82
- _queue: SMTPPoolQueueEntry[];
83
- _connections: PoolResource[];
84
- _connectionCounter: number;
85
79
  idling: boolean;
86
80
  /**
87
81
  * The Mail instance using this transport, assigned by Mail
88
82
  */
89
- mailer?: Mail<SMTPPoolSentMessageInfo>;
83
+ mailer?: Mail<SMTPPoolSentMessageInfo> | undefined;
90
84
  constructor(options?: SMTPPoolOptions | string);
91
85
  /**
92
86
  * Placeholder function for creating proxy sockets. This method immediatelly returns
@@ -108,38 +102,6 @@ declare class SMTPPool extends EventEmitter {
108
102
  * is closed later
109
103
  */
110
104
  close(): void;
111
- /**
112
- * Check the queue and available connections. If there is a message to be sent and there is
113
- * an available connection, then use this connection to send the mail
114
- */
115
- _processMessages(): void;
116
- /**
117
- * Creates a new pool resource
118
- */
119
- _createConnection(): PoolResource;
120
- _shouldRequeuOnConnectionClose(queueEntry: SMTPPoolQueueEntry): boolean;
121
- _failDeliveryOnConnectionClose(connection: PoolResource): void;
122
- _requeueEntryOnConnectionClose(connection: PoolResource): void;
123
- /**
124
- * Continue to process message if the pool hasn't closed
125
- */
126
- _continueProcessing(): void;
127
- /**
128
- * Remove resource from pool
129
- *
130
- * @param connection The PoolResource to remove
131
- */
132
- _removeConnection(connection: PoolResource): void;
133
- /**
134
- * Checks if connections have hit current rate limit and if so, queues the availability callback
135
- *
136
- * @param callback Callback function to run once rate limiter has been cleared
137
- */
138
- _checkRateLimit(callback: () => void): void;
139
- /**
140
- * Clears current rate limit limitation and runs paused callback
141
- */
142
- _clearRateLimit(): void;
143
105
  /**
144
106
  * Returns true if there are free slots in the queue
145
107
  */
@@ -100,8 +100,10 @@ class SMTPPool extends EventEmitter {
100
100
  let connection;
101
101
  const len = this._connections.length;
102
102
  this._closed = true;
103
- // clear rate limit timer if it exists
104
- clearTimeout(this._rateLimit.timeout);
103
+ // release connections gated by the rate limiter so they become
104
+ // available and are torn down below instead of leaking with a
105
+ // cleared timer that never fires
106
+ this._clearRateLimit();
105
107
  if (!len && !this._queue.length) {
106
108
  return;
107
109
  }
@@ -153,6 +155,7 @@ class SMTPPool extends EventEmitter {
153
155
  /**
154
156
  * Check the queue and available connections. If there is a message to be sent and there is
155
157
  * an available connection, then use this connection to send the mail
158
+ * @internal
156
159
  */
157
160
  _processMessages() {
158
161
  // do nothing if already closed
@@ -217,6 +220,7 @@ class SMTPPool extends EventEmitter {
217
220
  }
218
221
  /**
219
222
  * Creates a new pool resource
223
+ * @internal
220
224
  */
221
225
  _createConnection() {
222
226
  const connection = new PoolResource(this);
@@ -309,12 +313,14 @@ class SMTPPool extends EventEmitter {
309
313
  this._connections.push(connection);
310
314
  return connection;
311
315
  }
316
+ /** @internal */
312
317
  _shouldRequeuOnConnectionClose(queueEntry) {
313
318
  if (this.options.maxRequeues === undefined || this.options.maxRequeues < 0) {
314
319
  return true;
315
320
  }
316
321
  return queueEntry.requeueAttempts < this.options.maxRequeues;
317
322
  }
323
+ /** @internal */
318
324
  _failDeliveryOnConnectionClose(connection) {
319
325
  if (connection.queueEntry && connection.queueEntry.callback) {
320
326
  try {
@@ -331,6 +337,7 @@ class SMTPPool extends EventEmitter {
331
337
  connection.queueEntry = false;
332
338
  }
333
339
  }
340
+ /** @internal */
334
341
  _requeueEntryOnConnectionClose(connection) {
335
342
  connection.queueEntry.requeueAttempts += 1;
336
343
  this.logger.debug({
@@ -344,6 +351,7 @@ class SMTPPool extends EventEmitter {
344
351
  }
345
352
  /**
346
353
  * Continue to process message if the pool hasn't closed
354
+ * @internal
347
355
  */
348
356
  _continueProcessing() {
349
357
  if (this._closed) {
@@ -357,6 +365,7 @@ class SMTPPool extends EventEmitter {
357
365
  * Remove resource from pool
358
366
  *
359
367
  * @param connection The PoolResource to remove
368
+ * @internal
360
369
  */
361
370
  _removeConnection(connection) {
362
371
  const index = this._connections.indexOf(connection);
@@ -368,6 +377,7 @@ class SMTPPool extends EventEmitter {
368
377
  * Checks if connections have hit current rate limit and if so, queues the availability callback
369
378
  *
370
379
  * @param callback Callback function to run once rate limiter has been cleared
380
+ * @internal
371
381
  */
372
382
  _checkRateLimit(callback) {
373
383
  if (!this._rateLimit.limit) {
@@ -388,6 +398,7 @@ class SMTPPool extends EventEmitter {
388
398
  }
389
399
  /**
390
400
  * Clears current rate limit limitation and runs paused callback
401
+ * @internal
391
402
  */
392
403
  _clearRateLimit() {
393
404
  clearTimeout(this._rateLimit.timeout);
@@ -26,9 +26,7 @@ export default class PoolResource extends EventEmitter {
26
26
  /**
27
27
  * Authentication data for the connection, set when the pool options include auth
28
28
  */
29
- auth?: SMTPTransportAuth;
30
- _connection: boolean;
31
- _connected: boolean;
29
+ auth?: SMTPTransportAuth | undefined;
32
30
  messages: number;
33
31
  available: boolean;
34
32
  /**
@@ -42,7 +40,7 @@ export default class PoolResource extends EventEmitter {
42
40
  /**
43
41
  * The queue entry being sent, assigned by the pool. False once it has been handled
44
42
  */
45
- queueEntry?: SMTPPoolQueueEntry | false;
43
+ queueEntry?: SMTPPoolQueueEntry | false | undefined;
46
44
  constructor(pool: SMTPPool);
47
45
  /**
48
46
  * Initiates a connection to the SMTP server
@@ -12,19 +12,19 @@ import type { MimeNodeEnvelope } from '../mime-node/index.js';
12
12
  */
13
13
  export interface SMTPTransportAuthOptions extends XOAuth2Options {
14
14
  /** 'OAuth2' selects XOAUTH2, anything else is a password login, 'LOGIN' when not set */
15
- type?: string;
15
+ type?: string | undefined;
16
16
  /** Username */
17
- user?: string;
17
+ user?: string | undefined;
18
18
  /** Password */
19
- pass?: string;
19
+ pass?: string | undefined;
20
20
  /** SASL method to use, e.g. 'PLAIN', 'LOGIN' or 'CRAM-MD5' */
21
- method?: string;
21
+ method?: string | undefined;
22
22
  /** Extra options for the authentication method, handed to a custom SASL handler */
23
23
  options?: {
24
24
  [key: string]: any;
25
- };
25
+ } | undefined;
26
26
  /** Service identifier, an OAuth2 login needs either this or a user */
27
- service?: string;
27
+ service?: string | undefined;
28
28
  }
29
29
  /**
30
30
  * Authentication data built by getAuth() and handed to SMTPConnection#login
@@ -50,21 +50,21 @@ export type SMTPTransportGetSocket = (options: SMTPTransportOptions, callback: S
50
50
  */
51
51
  export interface SMTPTransportOptions extends SMTPConnectionOptions, TransportOptions {
52
52
  /** Well-known service name, e.g. 'Gmail', fills in host, port and secure */
53
- service?: string;
53
+ service?: string | undefined;
54
54
  /** Connection url, e.g. 'smtps://user:pass@smtp.example.com', parsed into options */
55
- url?: string;
55
+ url?: string | undefined;
56
56
  /** Authentication settings, no authentication when not set */
57
- auth?: SMTPTransportAuthOptions;
57
+ auth?: SMTPTransportAuthOptions | undefined;
58
58
  /** Custom socket provider, e.g. for connecting through a proxy, replaces the getSocket method */
59
- getSocket?: SMTPTransportGetSocket;
59
+ getSocket?: SMTPTransportGetSocket | undefined;
60
60
  /** Authenticate even when the server does not advertise AUTH, and fail verify() when it does but no credentials were given */
61
- forceAuth?: boolean;
61
+ forceAuth?: boolean | undefined;
62
62
  /** Default SASL method for the password logins when the auth settings do not name one */
63
- authMethod?: string;
63
+ authMethod?: string | undefined;
64
64
  /** Logger component name, defaults to 'smtp-transport' */
65
- component?: string;
65
+ component?: string | undefined;
66
66
  /** Set to true to get a pooled transport from createTransport, this transport does not read it */
67
- pool?: boolean;
67
+ pool?: boolean | undefined;
68
68
  }
69
69
  /**
70
70
  * Result of a sent message, the connection result plus the envelope and the Message-ID
@@ -97,11 +97,11 @@ declare class SMTPTransport extends EventEmitter {
97
97
  /**
98
98
  * Transport level authentication data, set when the options include auth
99
99
  */
100
- auth?: SMTPTransportAuth | false;
100
+ auth?: SMTPTransportAuth | false | undefined;
101
101
  /**
102
102
  * The Mail instance using this transport, assigned by Mail
103
103
  */
104
- mailer?: Mail<SMTPSentMessageInfo>;
104
+ mailer?: Mail<SMTPSentMessageInfo> | undefined;
105
105
  constructor(options?: SMTPTransportOptions | string);
106
106
  /**
107
107
  * Placeholder function for creating proxy sockets. This method immediatelly returns
@@ -8,11 +8,11 @@ import type { default as Mail, SentMessageInfo, SendMailOptions, TransportOption
8
8
  */
9
9
  export interface StreamTransportOptions extends TransportOptions {
10
10
  /** Selects this transport in createTransport */
11
- streamTransport?: boolean;
11
+ streamTransport?: boolean | undefined;
12
12
  /** If true, the message is returned as a Buffer object instead of a stream */
13
- buffer?: boolean;
13
+ buffer?: boolean | undefined;
14
14
  /** Either 'windows' or 'unix', the line ending of the generated message */
15
- newline?: string;
15
+ newline?: string | undefined;
16
16
  }
17
17
  /**
18
18
  * The value the Stream transport hands to the send callback
@@ -3,23 +3,23 @@
3
3
  */
4
4
  export interface WellKnownServiceDefinition {
5
5
  /** Human readable description of the service */
6
- description?: string;
6
+ description?: string | undefined;
7
7
  /** Domains of e-mail addresses hosted by the service */
8
- domains?: string[];
8
+ domains?: string[] | undefined;
9
9
  /** Alternative names the service can be looked up by */
10
- aliases?: string[];
10
+ aliases?: string[] | undefined;
11
11
  /** SMTP hostname */
12
- host?: string;
12
+ host?: string | undefined;
13
13
  /** SMTP port (a numeric string in a few entries) */
14
- port?: number | string;
14
+ port?: number | string | undefined;
15
15
  /** true for implicit TLS (usually port 465) */
16
- secure?: boolean;
16
+ secure?: boolean | undefined;
17
17
  /** Preferred authentication method */
18
- authMethod?: string;
18
+ authMethod?: string | undefined;
19
19
  /** Set to true to require STARTTLS on a plaintext connection */
20
- requireTLS?: boolean;
20
+ requireTLS?: boolean | undefined;
21
21
  /** Set to true to skip STARTTLS */
22
- ignoreTLS?: boolean;
22
+ ignoreTLS?: boolean | undefined;
23
23
  }
24
24
  /**
25
25
  * SMTP settings of a well-known service, without the lookup keys
@@ -116,6 +116,7 @@ export const services = {
116
116
  "FastMail": {
117
117
  "description": "FastMail",
118
118
  "domains": [
119
+ "fastmail.com",
119
120
  "fastmail.fm"
120
121
  ],
121
122
  "host": "smtp.fastmail.com",
@@ -229,6 +230,7 @@ export const services = {
229
230
  "Mac"
230
231
  ],
231
232
  "domains": [
233
+ "icloud.com",
232
234
  "me.com",
233
235
  "mac.com"
234
236
  ],
@@ -25,50 +25,50 @@ export type XOAuth2PrivateKey = crypto.KeyLike | crypto.SignKeyObjectInput | cry
25
25
  */
26
26
  export interface XOAuth2Options {
27
27
  /** User e-mail address */
28
- user?: string;
28
+ user?: string | undefined;
29
29
  /** Client ID value */
30
- clientId?: string;
30
+ clientId?: string | undefined;
31
31
  /** Client secret value */
32
- clientSecret?: string;
32
+ clientSecret?: string | undefined;
33
33
  /** Refresh token for an user */
34
- refreshToken?: string;
34
+ refreshToken?: string | undefined;
35
35
  /** Endpoint for token generation, defaults to 'https://accounts.google.com/o/oauth2/token' */
36
- accessUrl?: string;
36
+ accessUrl?: string | undefined;
37
37
  /** An existing valid accessToken */
38
- accessToken?: string;
38
+ accessToken?: string | undefined;
39
39
  /** Private key for JSW */
40
- privateKey?: XOAuth2PrivateKey;
40
+ privateKey?: XOAuth2PrivateKey | undefined;
41
41
  /** Optional Access Token expire time in ms */
42
- expires?: number;
42
+ expires?: number | undefined;
43
43
  /** Optional TTL for Access Token in seconds */
44
- timeout?: number;
44
+ timeout?: number | undefined;
45
45
  /** Function to run when a new access token is required */
46
- provisionCallback?: XOAuth2ProvisionCallback;
46
+ provisionCallback?: XOAuth2ProvisionCallback | undefined;
47
47
  /** Optional TLS options forwarded to the HTTPS token request. Defaults to strict cert validation; supply { rejectUnauthorized: false } only for self-hosted OAuth providers on private CAs. */
48
48
  tls?: {
49
49
  [key: string]: any;
50
- };
50
+ } | undefined;
51
51
  /** Service account client id (the JWT issuer), switches to the JWT bearer flow */
52
- serviceClient?: string;
52
+ serviceClient?: string | undefined;
53
53
  /** Lifetime of the service account JWT in seconds, defaults to 5 minutes, capped at an hour */
54
- serviceRequestTimeout?: number;
54
+ serviceRequestTimeout?: number | undefined;
55
55
  /** OAuth2 scope for the service account flow, defaults to 'https://mail.google.com/' */
56
- scope?: string;
56
+ scope?: string | undefined;
57
57
  /** Logger component name, defaults to 'OAuth2' */
58
- component?: string;
58
+ component?: string | undefined;
59
59
  /** Extra headers for the token request */
60
- customHeaders?: OutgoingHttpHeaders;
60
+ customHeaders?: OutgoingHttpHeaders | undefined;
61
61
  /** Extra form fields for the token request */
62
62
  customParams?: {
63
63
  [key: string]: any;
64
- };
64
+ } | undefined;
65
65
  }
66
66
  /**
67
67
  * The object emitted with the 'token' event once a new access token has been generated
68
68
  */
69
69
  export interface XOAuth2Token {
70
70
  /** User e-mail address */
71
- user?: string;
71
+ user?: string | undefined;
72
72
  /** The new access token */
73
73
  accessToken: string;
74
74
  /** Expire time as a timestamp in milliseconds, 0 when unknown */