feature #65826 [Mailer] Add PufferPost bridge (JeroenMoonen)
This PR was merged into the 8.2 branch. Discussion ---------- [Mailer] Add PufferPost bridge | Q | A | ------------- | --- | Branch? | 8.2 | Bug fix? | no | New feature? | yes | Deprecations? | no | Issues | - | License | MIT Adds a Mailer bridge for [PufferPost](https://pufferpost.com), a transactional email service. ```env MAILER_DSN=pufferpost+api://API_KEY@default ``` The service has no SMTP relay, so the bridge is API-only and `pufferpost` is an alias for `pufferpost+api`. The transport carries what the send endpoint accepts: sender, recipients, subject, text and HTML bodies, a single reply-to address (several are sent as a raw `Reply-To` header), attachments and custom headers. Two places the API differs from the services already bridged here, both handled in the transport: * **One primary recipient per message.** `to` is a single address, so an email with several `To` addresses is submitted to the batch endpoint — one request, one message per recipient, each carrying the same Cc and Bcc. A batch answers `200` even when an individual message is refused, so the transport surfaces the first rejection rather than reporting a send that never happened. * **No `Content-ID` support**, so inline (`cid:`) attachments are rejected with a clear message instead of arriving as plain attachments with a silently broken reference. API reference: https://docs.pufferpost.com/reference/api/ Commits ------- c0829394789 [Mailer] Add PufferPost bridge
N
Nicolas Grekas committed
27ba973f225b159f55e2665a637c2316a941e971