LunpaCMS Whipping your website into shape! Introducing Lunpa, our mascot.  Her mother was a hamster and her father was Chilean M00se.  Oddly, neither smelt of elderberries.


LunpaCMS Newsletter Manager Documentation

A Quick Introduction

Manage newsletters for email distribution.

Configuring Newsletter Manager

After installing, the following steps are required:

  1. Populate the LOCAL_NEWSLETTERMANAGER_ADMIN_EMAILS map with a comma-separated list of email addresses. Newsletter Manager can send test emails to these addresses.
  2. Update the LOCAL_NEWSLETTERMANAGER_PRIVACY_POLICY_LINK map with a link to your site's privacy policy.
  3. Configure your mail server to send and receive from the email addresses of "newsletter" and "do-not-reply".
  4. For domains where such configuration would be onerous, set LOCAL_NEWSLETTERMANAGER_SENDING_DOMAIN to an appropriate domain. For anti-spam and identification purposes, the recommended value for this map is either blank, or "newsletter.yourdomain.com"
  5. Configure your mail server to enable VERP/SRS.
  6. Populate the LOCAL_NEWSLETTERMANAGER_VERP_MAILBOX and LOCAL_NEWSLETTERMANAGER_VERP_SERVER maps with your VERP mailbox name and VERP server address. These are used to determine who bounces should be addressed to.

Tracking Techniques

Tracking the receipt and opening of Emails using techniques such as image tracking are highly offensive to privacy advocates and pose a security risk to end-users that has been historically exploited by malicious programmers. In response, most modern mail clients, including Microsoft Outlook and Outlook Express, now block images that can be used for tracking. The use of techniques such as image tracking can heavily affect whether your email is considered SPAM, or delivered with all images stripped. Therefore, Newsletter Manager does not support image tracking, or other similar techniques.

Configuring VERP and Automatic Bounce Handling

Newsletter Manager uses VERP to automatically detect bounced emails. Configuration for this feature varies by mail server. Here are the steps for a typical sendmail install, assuming the map LOCAL_NEWSLETTERMANAGER_VERP_MAILBOX is set to newsletter-mysite:

  1. cd /usr/adm/sm.bin/
  2. ln -s /htdocs/local/newslettermanageradmin/sys/newsletter_mailbox_check.pl
  3. In /etc/mail/aliases, add an alias that pipes bounce email through newsletter_mailbox_check.pl, like so:
    newsletter-mysite: "|/htdocs/local/newslettermanageradmin/sys/newsletter_mailbox_check.pl --add-bounce --cnf-file /htdocs/mysite.com/mysite-my.cnf --database mydb --host myserver.com"
  4. Optional: If you would like to save bounce messages for further analysis, you may change your alias to something similar to:
    newsletter-mysite: mysite, "|/htdocs/local/newslettermanageradmin/sys/newsletter_mailbox_check.pl --add-bounce --cnf-file /htdocs/mysite.com/mysite-my.cnf --database mydb --host myserver.com"

Creating a Newsletter

  1. Log into your site's admin page
  2. Click on "Newsletter Manager"
  3. Click on "Manage Newsletters"
  4. Click on "Create Newsletter"

Creating a Block

  1. Log into your site's admin page
  2. Click on "Newsletter Manager"
  3. Click on "Manage Blocks"
  4. Select the block type you wish to create
  5. Click on "Edit Block"
  6. On the block listing page, there is a column "Block Tag", which can be copied into a newsletter similarly to other LunpaCMS tags

Sending a Newsletter

  1. Log into your site's admin page
  2. Click on "Newsletter Manager"
  3. Click on "Send Newsletter"
  4. Click on the newsletter you wish to send
  5. Select the demographics you wish to send to
  6. Check the demographics summary and preview, then confirm and send

Adding a Subscriber

  1. Navigate to http://www.<domain_name>/newslettermanager/manage_add_subscription.cgi
  2. Enter the subscriber's information and click "Subscribe"

Edit Subscriber Info

  1. Click "Manage Subscription" at the bottom of a recent newsletter issue in your email
  2. Edit your information and submit the changes

Unsubscribing From Newsletter

  1. Click "Unsubscribe" at the bottom of a recent newsletter issue in your email
  2. You are now unsubscribed

Configuring Custom Block Types

To create custom block types, you must define a set of block types in your local library, in a function named newslettermanager_get_blocks. That function must return a hash reference, {block_name => {hash of function pointers}}. An example configuration is included below:

{ Image => { display => \&Library_newslettermanager::format_type_3_block,
             create => \&Library_newslettermanager::create_type_3_block
             edit => \&Library_newslettermanager::edit_type_3_block,
             edit_form => \&Library_newslettermanager::edit_block_3_form,
             edit_action => \&Library_newslettermanager::add_edit_type_3_block,
             fetch => \&Library_newslettermanager::fetch_type_3_block,
             fetch_all => \&Library_newslettermanager::fetch_type_3_blocks,
             delete => \&Library_newslettermanager::delete_type_3_block,
          },

  Headline => { display => \&Library_newslettermanager::format_type_4_block,
                create => \&Library_newslettermanager::create_type_4_block,
                edit => \&Library_newslettermanager::edit_type_4_block,
                edit_form => \&Library_newslettermanager::edit_block_4_form,
                edit_action => \&Library_newslettermanager::add_edit_type_4_block,
                fetch => \&Library_newslettermanager::fetch_type_4_block,
                fetch_all => \&Library_newslettermanager::fetch_type_4_blocks,
                'delete' => \&Library_newslettermanager::delete_type_4_block,
              },
}

Fields in a block type hash are:


Add Your Comment


(Only a limited set of HTML tags such as <b>, <i>, <u> are allowed. Embedded flash video from Youtube or Vimeo are also supported.)


Copyright © 2018 Peregrine Computer Consultants Corp. All rights reserved.

About Lunpa, our mascot. Her mother was a hamster and her father was an ill-tempered Chilean M00se. Oddly, neither smelt of elderberries.
The artist is Jennifer Lomax.