Sitecore MailingList Module
I recently had the opportunity to work with the Sitecore 5.3 MailingList Module and since it was my first time, I had to hunt around the API to figure out how to have a site visitor subscribe and unsubscribe from a MailingList. The only thing I could find was this post by Alex Shyba from back in 2005 when I guess it was actually called the Newsletter module.
This post is actually self serving, in that I will never have to hunt for it again. First, you of course have to install the MailingList Module and then Add a Reference to the Sitecore.MailingList.dll in the bin folder. Then add:
using Sitecore.Modules.MailingList.Core;
It needs some parameter validation before being 100%, but here goes:
private void SaveSubscriber(string firstName, string lastName, string email, string gender, string age)
{
MailingList list = new MailingList();
string listID = Sitecore.Context.Database.Items.GetItem("/sitecore/content/modules/mailing list/mailing lists/Newsletter").ID.ToString();
string name = firstName + " " + lastName;
string company = "";
string country = Sitecore.Context.Language.ToString();
list.PutSubscriber(name, email, company, country);
// listID parameter says it's listID's although it's not a string array, beats me
list.Subscribe(name, email, listID);
// you can send any parameters here that you want
list.PutSubscriberField(email, "Gender", gender);
list.PutSubscriberField(email, "Age", age);
}
private void RemoveSubscriber(string email)
{
MailingList list = new MailingList();
string listID = Sitecore.Context.Database.Items.GetItem("/sitecore/content/modules/mailing list/mailing lists/Newsletter").ID.ToString();
// Second parameter expects string array of Newsletter Sitecode Id's to subscribe to.
list.Unsubscribe(email, listID.Split(','));
}
Let me know if you find it useful or know of something I was overlooking. Most of this was taking from Alex's post and just updated to Sitecore CMS version 5.3.
Comment Notification
If you would like to receive an email when updates are made to this post, please register here
Subscribe to this post's comments using
Comments
Leave a Comment
About dwalker
David Walker has over 15 years experience in application development with over 50% of that employed as a consultant with companies such as: Microsoft, IBM Global Services, Texaco, Winner Communications (ESPN.com), and Bank of Oklahoma. At the age of 14, he began his application development ambitions with a Commodore 64, BASIC, and a 300 baud modem. Even at that early age, he primarily focused on two specific application types: multi-user communities and database applications.
His hunger to learn as much as possible about development lead him through courses such as DBase III, DBase IV, Pascal, C, C++, Java, and several in UNIX. He started his development career first doing heavy processing with Access and VBA, then moved on to VB 3, Oracle, and Delphi. Visual Basic was one environment that remained constant for many years, including his very first .NET projects performed in Visual Basic.NET.
After working several years on very high end internal Corporate applications, the consultant company he was working for, sought out his ideas for actual software products that could be packaged and sold. He had already developed several prototypes of a dynamic portal application, before portals even became popular, so this became the logic decision and he became the Director of Product Development. Under his direction, a team of developers and graphic artists, took a skinning approach before that become popular, and completed the core portal application, and continued on to developer 15+ add-on modules, including things such as: Help Desk Ticket Systems, Change Control, Records Management, Human Resources, and many more applications. Eventually, it spun off into it's own separate company as KnowledgeGEAR, a complete intranet in the box solution.
Having worked as a consultant, he has had a experience with a very wide range of applications and architectures, at one time, even converting several Fox Pro and GW-Basic applications to VB 6 and ASP. His early training of Unix and the C language and years of experience with JavaScript, lead him very quickly to C#, where he has remained focused ever since.
He is the past President of the
Tulsa Developers .NET user group, founder and past President of the
Tulsa SQL Server Group and
Tulsa Java Developers Group, past Vice-President and Director of Membership Services of the
Tulsa SharePoint Interest Group.
He has been the director/chairman of the
TulsaTechFest event since it's inception in 2006. He coordinated the first Tulsa Code Camp and then rebranded it two years in a row as
School of Dev!
He is the founder and director of
NEOTECHCouncil (NorthEast Oklahoma Technology Council).
He was a board member, Vice-President of the Speakers Bureau for
INETA NORAM from June 2007 to June 2009.
He has been an MCP since 2003 and MCAD and MCSD since 2005. He is currently pursuing his MCDBA and then on to MCSE.
He was a Microsoft MVP - ASP/ASP.NET Developer from June 2007 - June 2009.
On June 22, 2009, he joined Microsoft as a ADC (Application Developer Consultant).