From de9d1e4e59fbc5db8561128396b35918a67915f6 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Mon, 15 Jun 2026 06:06:34 +0000 Subject: [PATCH 1/2] docs(email): update replaceToRecipient empty-to behavior When replaceToRecipient is true and to is explicitly [], Novu now delivers via cc/bcc only and uses undisclosed-recipients for SMTP. Source: novuhq/novu#11511 Co-authored-by: dima --- content/docs/platform/integrations/email/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/platform/integrations/email/index.mdx b/content/docs/platform/integrations/email/index.mdx index b15f6e4a3..51eb9d850 100644 --- a/content/docs/platform/integrations/email/index.mdx +++ b/content/docs/platform/integrations/email/index.mdx @@ -202,7 +202,7 @@ await novu.trigger({ -By default, Novu merges override `to` addresses with the subscriber email. Set `replaceToRecipient: true` to send only to the override recipients and omit the subscriber email from `to`. When `replaceToRecipient` is `true`, include at least one of `to`, `cc`, or `bcc` in the email override. If `to` is empty but `cc` or `bcc` is set, Novu uses the `from` address as `to`. +By default, Novu merges override `to` addresses with the subscriber email. Set `replaceToRecipient: true` to send only to the override recipients and omit the subscriber email from `to`. When `replaceToRecipient` is `true`, include at least one of `to`, `cc`, or `bcc` in the email override. If `to` is explicitly set to `[]` and `cc` or `bcc` is set, Novu keeps `to` empty and delivers via `cc`/`bcc` only. For Custom SMTP (Nodemailer) providers, Novu normalizes an empty `to` to `undisclosed-recipients:;` so the message sends without exposing subscriber or sender addresses in the `To` field. ### Targeting a specific provider From 0614ba228accf1cba4aacdcea26aaddbd4f5cee1 Mon Sep 17 00:00:00 2001 From: Pawan Jain Date: Wed, 17 Jun 2026 11:59:43 +0530 Subject: [PATCH 2/2] docs(email): enhance clarity on replaceToRecipient behavior Updated the documentation for `replaceToRecipient` to provide clearer instructions on its usage and implications, particularly regarding empty `to` fields with cc/bcc for Custom SMTP. Added structured formatting for better readability. --- .../docs/platform/integrations/email/index.mdx | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/content/docs/platform/integrations/email/index.mdx b/content/docs/platform/integrations/email/index.mdx index 51eb9d850..7af3a20d4 100644 --- a/content/docs/platform/integrations/email/index.mdx +++ b/content/docs/platform/integrations/email/index.mdx @@ -202,7 +202,21 @@ await novu.trigger({ -By default, Novu merges override `to` addresses with the subscriber email. Set `replaceToRecipient: true` to send only to the override recipients and omit the subscriber email from `to`. When `replaceToRecipient` is `true`, include at least one of `to`, `cc`, or `bcc` in the email override. If `to` is explicitly set to `[]` and `cc` or `bcc` is set, Novu keeps `to` empty and delivers via `cc`/`bcc` only. For Custom SMTP (Nodemailer) providers, Novu normalizes an empty `to` to `undisclosed-recipients:;` so the message sends without exposing subscriber or sender addresses in the `To` field. + + +**`replaceToRecipient`** + +- By default, Novu merges override `to` addresses with the subscriber email. +- Set `replaceToRecipient: true` to send only to override recipients. The subscriber email is omitted from `to`. `to` is replaced with the `from` address. +- When `replaceToRecipient` is `true`, include at least one of `to`, `cc`, or `bcc`. + +**Empty `to` with cc/bcc (Custom SMTP only)** + +- Setting `to: []` with `cc` or `bcc` is supported only on **Custom SMTP (Nodemailer)**. +- Novu normalizes an empty `to` to `undisclosed-recipients:;` so the message sends without exposing addresses in the To field. +- Other email providers do not support this pattern. + + ### Targeting a specific provider