Delete subscribers

Delete a single subscriber

To delete a specific subscriber, you use the NewslettersManager class. First, you initialize the NewslettersManager. Then, you check whether an item with the specified ID exists. Finally, you delete the subscriber by calling DeleteSubscriber, and save the changes.

The following code deletes a subscriber with the specified ID with the Native API:

  1. C#
     using System;
     using System.Collections.Generic;
     using System.Linq;
     using System.Text;
     using System.Threading.Tasks;
     using Telerik.Sitefinity.Modules.Newsletters;
     
     namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.Modules.EmailCampaigns.Subscribers
     {
         public partial class EmailCampaignsSnippets
         {
             public void DeleteSubscriber(Guid subscriberId)
             {
                 NewslettersManager manager = NewslettersManager.GetManager();
     
                 if (manager.GetSubscribers().Where(s => s.Id == subscriberId).Count() > 0)
                 {
                     manager.DeleteSubscriber(subscriberId);
                     manager.SaveChanges();
                 }
             }
         }
     }
     

Delete all subscribers from a specific mailing list

To delete subscriber forma a specific mailing list, you use the NewslettersManager class. First, you initialize the NewslettersManager. Then, you get the specified mailing list. You get all the subscribers that are in this mailing list. Then, you iterate the collection and check whether a subscriber is enlisted in other mailing lists. If true, you remove the subscriber from the specified mailing list, otherwise, you delete it. Finally, you save the changes.

The following code deletes all subscribers from a mailing list with the Native API:

  1. C#
     using System;
     using System.Collections.Generic;
     using System.Linq;
     using System.Text;
     using System.Threading.Tasks;
     using Telerik.Sitefinity.Modules.Newsletters;
     using Telerik.Sitefinity.Newsletters.Model;
     
     namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.Modules.EmailCampaigns.Subscribers
     {
         public partial class EmailCampaignsSnippets
         {
             public void DeleteSubscribersFromMailingList(Guid mailingListId)
             {
                 NewslettersManager manager = NewslettersManager.GetManager();
                 MailingList mailingList = manager.GetMailingLists().Where(l => l.Id == mailingListId).SingleOrDefault();
     
                 if (mailingList != null)
                 {
                     List<Subscriber> subscribers = manager.GetSubscribers().Where(s => s.Lists.Contains(mailingList)).ToList();
     
                     foreach (var subscriber in subscribers)
                     {
                         if (subscriber.Lists.Count > 1)
                         {
                             manager.Unsubscribe(subscriber, mailingListId);
                         }
                         else
                         {
                             manager.DeleteSubscriber(subscriber.Id);
                         }
                     }
     
                     manager.SaveChanges();
                 }
             }
         }
     }
     

Delete all subscribers

To delete all created subscribers, you use the NewslettersManager class. First, you initialize the NewslettersManager. You get all the available subscribers. Then, you iterate the collection and delete the subscribers one by one. Finally, you save the changes.

The following code deletes all available subscribers with the Native API:

  1. C#
     using System;
     using System.Collections.Generic;
     using System.Linq;
     using System.Text;
     using System.Threading.Tasks;
     using Telerik.Sitefinity.Modules.Newsletters;
     using Telerik.Sitefinity.Newsletters.Model;
     
     namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.Modules.EmailCampaigns.Subscribers
     {
         public partial class EmailCampaignsSnippets
         {
             public void DeleteSubscribers()
             {
                 NewslettersManager manager = NewslettersManager.GetManager();
                 List<Subscriber> subscribers = manager.GetSubscribers().ToList();
                 foreach (var subscriber in subscribers)
                 {
                     manager.DeleteSubscriber(subscriber.Id);
                 }
     
                 manager.SaveChanges();
             }
         }
     }
     
Want to learn more?
Enhance your Sitefinity skills by enrolling in free training sessions. Become Sitefinity certified through Progress Education Community to strengthen your professional credentials.