payload-plugin-newsletter 0.24.0 → 0.25.0

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/dist/server.js CHANGED
@@ -575,7 +575,7 @@ var createSubscribersCollection = (pluginConfig) => {
575
575
  } else {
576
576
  console.warn("[Newsletter Plugin] No email service configured for subscriber creation");
577
577
  }
578
- if (doc.subscriptionStatus === "active" && emailService) {
578
+ if (doc.subscriptionStatus === "active" && emailService && !doc.importedFromProvider) {
579
579
  try {
580
580
  const settings = await req.payload.findGlobal({
581
581
  slug: pluginConfig.settingsSlug || "newsletter-settings"
@@ -621,6 +621,30 @@ var createSubscribersCollection = (pluginConfig) => {
621
621
  console.warn("[Newsletter Plugin] No email service configured");
622
622
  }
623
623
  }
624
+ if (doc.subscriptionStatus === "active" && previousDoc.subscriptionStatus === "unsubscribed" && !doc.importedFromProvider && emailService) {
625
+ try {
626
+ const settings = await req.payload.findGlobal({
627
+ slug: pluginConfig.settingsSlug || "newsletter-settings"
628
+ });
629
+ const serverURL = req.payload.config.serverURL || process.env.PAYLOAD_PUBLIC_SERVER_URL || "";
630
+ const html = await renderEmail("welcome", {
631
+ email: doc.email,
632
+ siteName: settings?.brandSettings?.siteName || "Newsletter",
633
+ preferencesUrl: `${serverURL}/account/preferences`
634
+ }, pluginConfig);
635
+ await emailService.send({
636
+ to: doc.email,
637
+ subject: settings?.brandSettings?.siteName ? `Welcome back to ${settings.brandSettings.siteName}!` : "Welcome back!",
638
+ html
639
+ });
640
+ console.warn(`Welcome email sent to resubscribed user: ${doc.email}`);
641
+ } catch (error) {
642
+ console.error("Failed to send resubscription welcome email:", error);
643
+ }
644
+ if (pluginConfig.hooks?.afterSubscribe) {
645
+ await pluginConfig.hooks.afterSubscribe({ doc, req });
646
+ }
647
+ }
624
648
  if (doc.subscriptionStatus === "unsubscribed" && previousDoc.subscriptionStatus !== "unsubscribed") {
625
649
  doc.unsubscribedAt = (/* @__PURE__ */ new Date()).toISOString();
626
650
  if (pluginConfig.hooks?.afterUnsubscribe) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payload-plugin-newsletter",
3
- "version": "0.24.0",
3
+ "version": "0.25.0",
4
4
  "description": "Complete newsletter management plugin for Payload CMS with subscriber management, magic link authentication, and email service integration",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",