@beignet/provider-mail-smtp 0.0.32 → 0.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @beignet/provider-mail-smtp
2
2
 
3
+ ## 0.0.33
4
+
5
+ ### Patch Changes
6
+
7
+ - 92af951: Document and test the provider resilience baseline: mail providers fail fast
8
+ without provider-owned retries, while S3 delegates bounded retries to the AWS
9
+ SDK or caller-owned injected clients.
10
+
3
11
  ## 0.0.32
4
12
 
5
13
  ### Patch Changes
package/README.md CHANGED
@@ -121,9 +121,10 @@ When `ctx.ports.devtools` is installed, this provider records `mail.send`,
121
121
 
122
122
  ## Failure and retry semantics
123
123
 
124
- The provider fails fast and does not retry. Mail delivery is not idempotent: a
125
- timed-out send may still have been delivered, so a blind provider retry risks
126
- duplicate emails.
124
+ The provider fails fast and does not retry. Each `send(...)` call makes one
125
+ Nodemailer `sendMail(...)` call, even for transient network errors or
126
+ provider-side failures. Mail delivery is not idempotent: a timed-out send may
127
+ still have been delivered, so a blind provider retry risks duplicate emails.
127
128
 
128
129
  Delivery failures throw `MailDeliveryError` from `@beignet/core/mail` with the
129
130
  provider name, the recipient count, and the original SMTP error preserved as
@@ -135,8 +136,9 @@ failing the first send. Startup configuration problems also throw during
135
136
  provider setup.
136
137
 
137
138
  When mail needs retries, dispatch it from a job or an outbox-backed listener
138
- and own idempotency there, for example by recording one delivery per business
139
- event before sending.
139
+ and own idempotency there. The job or outbox row should choose attempts and
140
+ delay, and the application should record one delivery per business event before
141
+ sending.
140
142
 
141
143
  ## Local and tests
142
144
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beignet/provider-mail-smtp",
3
- "version": "0.0.32",
3
+ "version": "0.0.33",
4
4
  "type": "module",
5
5
  "description": "SMTP mail provider for Beignet - adds mailer port using nodemailer",
6
6
  "main": "./dist/index.js",