Back in May, Joe Brinkman and I hosted a webinar titled "Developing On The DNN Platform" which was focused on providing guidance to developers on how to easily create modules and add custom functionality to your website. We promised that we would share the code and unfortunately it has taken longer than expected to get it published. So I am happy to announce that the DNN Mailing List module, which was the example used in our webinar, is now available for download.
The DNN Mailing List module allows you to post messages to an Activity Stream using standard email and allows users to subscribe to the Activity Stream so they receive notifications of new messages when they are posted. This effectively creates a functional Mailing List for the members of your site. The module can be either utilized at the site level or associated to individual Social Groups.
Once you install the module in your site, you can add an instance of it to any page which has an Activity Stream (Journal) module. This includes standard site pages, or Group Activity pages. Once the Mailing List module instance is added, you can click the Configure button to specify the various options. You can specify whether you want your users to receive Notifications of new items posted to the list and whether they are automatically subscribed or must opt-in. You can also specify a unique IMAP email address that will allow users to post messages using a standard email client. Security options exist to control who is allowed to post via email and set the visibility of the messages.
![](https://www.codeplex.com/Download?ProjectName=dnnmailinglist&DownloadId=880252)
Once the module is configured with IMAP server settings, you can send standard email to the associated address. You can optionally enclose your message in square brackets so that the system can easily identify the content you wish to post.
![](https://www.codeplex.com/Download?ProjectName=dnnmailinglist&DownloadId=880253)
The system will monitor the email account on a continuous basis to retrieve any new messages and post them in the Activity Stream. Once messages are posted in the Activity Stream you can use the standard DNN site search capability to easily find them in the future. Using the Subscribers option, a user can opt-in to receive Notifications of new messages.
![](https://www.codeplex.com/Download?ProjectName=dnnmailinglist&DownloadId=880254)
Notifications are available in your User Profile and depending on digest settings, you will receive them via email immediately or as a batch. You have the ability to Reply By Email directly from the message which will add your response as a Comment to the original entry in the Activity Stream.
![](https://www.codeplex.com/Download?ProjectName=dnnmailinglist&DownloadId=880255)
This module was built in VB.NET using the DNN Module Creator and utilizes a dynamic methodology ( ie. no project files or pre-compilation is required because the class files are all located in the App_Code folder ). It contains a variety of source code examples including:
- how to implement services using Web API
- how to use various aspects of the Social API including Journal and Notifications
- how to create a Schedule Job
- how to use the ActionLink control
- how to leverage third party components
- how to interface with an IMAP email server
- how to use DNN design patterns and modal dialogs
- how to call stored procedures using DAL2
- how to suppress the display of a module based on custom logic
- how to create an Install and Uninstall database script
We hope you find this module to be useful in managing your online communities as well as a good reference example on how to extend the DNN Platform with custom functionality.