Upgrade von @nestjs-modules/mailer 3.x auf 4.x
Vergleich der öffentlichen API von @nestjs-modules/mailer 3.0.2 und 4.0.0, automatisch aus den TypeScript-Typen berechnet. Eine geänderte Signatur ist ein möglicher Breaking Change, keine Gewissheit.
Zusammenfassung
| Entfernte Importpfade | 0 |
|---|---|
| Entfernte Exporte | 0 |
| Geänderte Signaturen | 0 |
| Entfernte Member von Klassen oder Interfaces | 1 |
| Geänderte Member von Klassen oder Interfaces | 3 |
| Neu als veraltet markiert | 0 |
| Geänderte Anforderungen (engines, Peer-Abhängigkeiten) | 3 |
| Neue Exporte | 64 |
Entfernte Exporte
Keine gefunden.
Geänderte Signaturen
Keine gefunden.
Entfernte Member von Klassen oder Interfaces
| member | import | Vorher |
|---|---|---|
MailerService.executeSend | @nestjs-modules/mailer | any |
Geänderte Member von Klassen oder Interfaces
| member | Vorher | Nachher |
|---|---|---|
MailerService.constructor | (mailerOptions: MailerOptions, transportFactory: MailerTransportFactory, eventService?: MailerEventService | undefined): MailerService | (mailerOptions: MailerOptions, transportFactory?: MailerTransportFactory | undefined, eventService?: MailerEventService | undefined, moduleRef?: any): MailerService |
MailerTestModule.static register | (options?: Partial<{ template: { dir?: string | undefined; adapter?: any; options?: any; }; }> | undefined): DynamicModule | (options?: Omit<MailerOptions, "transport" | "transports"> | undefined): DynamicModule |
MailerEventService.constructor | (eventEmitter?: any): MailerEventService | (eventEmitter?: MailerEventEmitter | undefined, moduleRef?: any): MailerEventService |
Neu als veraltet markiert
Keine gefunden.
Geänderte Anforderungen (engines, Peer-Abhängigkeiten)
| Vorher | Nachher | |
|---|---|---|
peerDependencies.handlebars | >=4.7.9 | >=4.7.10 |
peerDependencies.@nestjs/mail | — | >=0.0.1 |
peerDependencies.@nestjs/outbox | — | >=0.1.3 |
Neue Exporte (64)
| import | export | kind |
|---|---|---|
@nestjs-modules/mailer | html | function |
@nestjs-modules/mailer | signV4 | function |
@nestjs-modules/mailer | Mailable | interface |
@nestjs-modules/mailer | SafeHtml | class |
@nestjs-modules/mailer | MailQuery | interface |
@nestjs-modules/mailer | htmlToText | function |
@nestjs-modules/mailer | isSafeHtml | function |
@nestjs-modules/mailer | unsafeHtml | function |
@nestjs-modules/mailer | MailerError | class |
@nestjs-modules/mailer | TestMailbox | class |
@nestjs-modules/mailer | CapturedMail | class |
@nestjs-modules/mailer | LogTransport | class |
@nestjs-modules/mailer | MailableData | type |
@nestjs-modules/mailer | RenderedMail | interface |
@nestjs-modules/mailer | SesTransport | class |
@nestjs-modules/mailer | SigV4Options | interface |
@nestjs-modules/mailer | SigV4Request | interface |
@nestjs-modules/mailer | FileTransport | class |
@nestjs-modules/mailer | MailerPreview | type |
@nestjs-modules/mailer | toMailerError | function |
@nestjs-modules/mailer | AwsCredentials | interface |
@nestjs-modules/mailer | BrevoTransport | class |
@nestjs-modules/mailer | SigV4Signature | interface |
@nestjs-modules/mailer | LOCAL_TRANSPORT | variable |
@nestjs-modules/mailer | MailableContent | type |
@nestjs-modules/mailer | MailableContext | interface |
@nestjs-modules/mailer | MailerSmtpError | class |
@nestjs-modules/mailer | ResendTransport | class |
@nestjs-modules/mailer | parseRetryAfter | function |
@nestjs-modules/mailer | validateMessage | function |
@nestjs-modules/mailer | InterceptOptions | interface |
@nestjs-modules/mailer | MailgunTransport | class |
@nestjs-modules/mailer | isTransientError | function |
@nestjs-modules/mailer | MailerEventRecord | interface |
@nestjs-modules/mailer | PostmarkTransport | class |
@nestjs-modules/mailer | SendGridTransport | class |
@nestjs-modules/mailer | mailerChannelName | function |
@nestjs-modules/mailer | MailerEventEmitter | interface |
@nestjs-modules/mailer | MailerMessageError | class |
@nestjs-modules/mailer | MailerRetryOptions | interface |
@nestjs-modules/mailer | MailerTimeoutError | class |
@nestjs-modules/mailer | UnsubscribeOptions | interface |
@nestjs-modules/mailer | HttpSentMessageInfo | interface |
@nestjs-modules/mailer | LogTransportOptions | interface |
@nestjs-modules/mailer | MailableSendOptions | type |
@nestjs-modules/mailer | MailerPreviewModule | class |
@nestjs-modules/mailer | MailerProviderError | class |
@nestjs-modules/mailer | MailerTemplateError | class |
@nestjs-modules/mailer | SesTransportOptions | interface |
@nestjs-modules/mailer | FileTransportOptions | interface |
@nestjs-modules/mailer | HttpTransportOptions | interface |
@nestjs-modules/mailer | MAILER_EVENT_EMITTER | variable |
@nestjs-modules/mailer | MailerPreviewOptions | interface |
@nestjs-modules/mailer | mayHaveBeenDelivered | function |
@nestjs-modules/mailer | BrevoTransportOptions | interface |
@nestjs-modules/mailer | HttpProviderTransport | class |
@nestjs-modules/mailer | MailerConnectionError | class |
@nestjs-modules/mailer | SuppressedMessageInfo | interface |
@nestjs-modules/mailer | MAILER_PREVIEW_OPTIONS | variable |
@nestjs-modules/mailer | ResendTransportOptions | interface |
@nestjs-modules/mailer | MailgunTransportOptions | interface |
@nestjs-modules/mailer | PostmarkTransportOptions | interface |
@nestjs-modules/mailer | SendGridTransportOptions | interface |
@nestjs-modules/mailer | MailerRecipientsRejectedError | class |
Changelog zwischen diesen Versionen
Text der Paketautoren, unverändert angezeigt.
4.0.0
### Major Changes
- [#1353](https://github.com/nest-modules/mailer/pull/1353) [`c8c0423`](https://github.com/nest-modules/mailer/commit/c8c0423749bd8f0f7d0f247e62ee5ab7a55f6535) Thanks [@juandav](https://github.com/juandav)! - v4: everything the official `@nestjs/mail` offers and more, without dropping anything v3 supports. Every capability is optional: use nodemailer, the built-in HTTP providers or `@nestjs/mail`'s transports; send directly, through BullMQ or through `@nestjs/outbox`; call `sendMail`, mail classes or the official `Mailer` over this module.
**Breaking changes** (see the [migration guide](https://nest-modules.github.io/mailer/guide/migration)):
- Transient failures are retried by default (3 attempts with backoff); `retry: false` restores v3. A timeout or a dropped connection while the message was being handed over is retried only when the email has a stable Message-ID (`idempotencyKey`), so nothing is sent twice. `sendTimeout` applies per attempt.
- Errors from transports are typed (`MailerSmtpError`, `MailerTimeoutError`, … all `MailerError`), keeping nodemailer's fields and the original as `cause`; `wrapErrors: false` restores v3.
- Emails without a text part get one derived from the HTML (`textFromHtml: false` to opt out), and messages are validated before sending (`validate: false` to opt out).
- `MailerTestModule` delivers to a `TestMailbox` (no stream transport; `info.message` uses CRLF line endings) and defaults `retry` to `false`.
- `MailerPreviewModule` is on by default only when `NODE_ENV` is `development` or `test`.
- Event payloads carry `attempt`, `permanent`, `transporterName` and `durationMs`; `MailerEventService` takes its emitter through `MAILER_EVENT_EMITTER`, and `EventEmitter2` is found automatically (in v3 it was never injected).
- `MailableContext.to` is `{ name?, address }[]`, the same shape as `@nestjs/mail`.
**New**
- Mail classes (`mailerService.send(WelcomeMail, { to, data })`) compatible with `@nestjs/mail`'s, with dependencies resolved from the whole app, and `render()` to render without sending.
- Retries with backoff and error classification (nodemailer, HTTP and AWS SDK errors), failover between transporters, `AbortSignal`, `idempotencyKey`, and graceful shutdown that waits for sends in flight (`shutdownTimeout`).
- Zero-dependency HTTP transports: Resend, Postmark, SendGrid, SES (SigV4), Mailgun and Brevo.
- The `html` tagged template (`unsafeHtml()` for trusted markup), `htmlToText()` and message validation.
- `intercept` (redirect recipients in staging), `suppress` (suppression lists) and one-click `unsubscribe` (RFC 8058).
- `TestMailbox` with assertions, `FileTransport` and `LogTransport` (with a warning when used in production) and `MailerPreviewModule` to preview emails in the browser.
- `events$`, `node:diagnostics_channel` publishing (credentials redacted), and `RETRY`, `FAILOVER` and `SUPPRESSED` events.
- BullMQ: permanent failures fail the jGib deinem KI-Agenten diese Fakten
Vigia ist ein kostenloser MCP-Server: Dein Coding-Agent prüft Versionen, Breaking Changes und Sicherheitslücken, bevor er Code schreibt. Ohne Anmeldung, ohne API-Schlüssel.
claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp
Zu Cursor hinzufügenZu VS Code hinzufügen★ Stern auf GitHub
Jeder andere MCP-Client
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }Agent-Skill (SKILL.md): sagt dem Agenten, wann er Vigia nutzen soll · GitHub Action für Pull Requests
Häufige Fragen
Welche Breaking Changes gibt es beim Upgrade von @nestjs-modules/mailer 3 auf 4?
Zwischen @nestjs-modules/mailer 3.0.2 und 4.0.0 hat Vigia 0 entfernte Exporte, 0 geänderte Signaturen und 4 entfernte oder geänderte Member von Klassen oder Interfaces gefunden.
Was wurde in @nestjs-modules/mailer 4 als veraltet markiert?
0 Exporte oder Member sind in @nestjs-modules/mailer 4.0.0 neu als veraltet markiert.
Für Agenten
GET https://vigia.coredls.cloud/v1/packages/npm/@nestjs-modules/mailer/upgrade?from=3.0.2&to=4.0.0