You are previewing phpList 2 E-mail Campaign Manager.
O'Reilly logo
phpList 2 E-mail Campaign Manager

Book Description


Get to grips with the PHPList e-mail announcement delivery system!

  • Harness the power and flexibility of open source software using PHPList for e-mail management mastery

  • Use analytics to identify top-performing links and most engaged subscribers, and target campaigns based on flexible criteria

  • Automate routine list management housework, freeing you to produce quality content

  • Integrate PHPList with existing publishing platforms, including WordPress, Blogger, Joomla!, and Drupal

  • Packed with screenshots, real-world examples, and detailed explanations

  • In Detail

    Tired of an e-mail BCC list that scrolls off the page, or fiddly and hard-to-manage bulk mailing systems? You need PHPList – a high-powered, robust, feature-packed mailing system that will get out of your way and get the job done! You want to know more about PHPList?

    PHPList is a popular open source e-mail campaign manager, sporting a powerful web frontend, rich message editor, and an advanced feature set.

    PHPList 2 E-mail Campaign Manager will guide you from basic installation and setup through management, reporting, and automation of PHPList, the world's most popular open source e-mail campaign manager. It also covers advanced customization and configuration of PHPList.

    We start with a basic configuration, and finish with a full-featured e-mail management engine. You will work your way up from basic installation to advanced topics such as bounce automation, user and click-through tracking, and integration with third-party tools such as WordPress, Joomla!, Drupal, and Blogger.

    Advanced topics such as securing your installation against spammers, attacks, and vulnerabilities are covered, as well as additional advanced and experimental features offered by PHPList.

    This book is an invaluable guide for any e-mail publisher who wants a robust and powerful engine to manage their small-to-huge e-mail distribution empire.

    This book is a step-by-step, in-depth guide to the features and usage of the world's most popular open source e-mail campaign manager, PHPList.


    Table of Contents

    1. phpList 2 E-mail Campaign Manager
      1. Table of Contents
      2. phpList 2 E-mail Campaign Manager
      3. Credits
      4. About the Author
      5. About the Reviewer
        1. Support files, eBooks, discount offers and more
          1. Why Subscribe?
          2. Free Access for Packt account holders
      7. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
        7. Downloading the example code for this book
          1. Errata
          2. Piracy
          3. Questions
      8. 1. Installation and Configuration
        1. Installing phpList files and database
          1. Requirements
          2. Downloading phpList
          3. Unpacking and uploading phpList
          4. Creating a database
          5. Performing initial configuration
            1. Database settings
            2. Path settings
          6. Performing web-based configuration
            1. Initialize database
          7. Initial login
            1. Change Admin Password
            2. Configure General Values
            3. Configure Attributes
            4. Create Lists
            5. Create Subscribe Pages
        2. Testing e-mail delivery
          1. Create user
          2. Sending a message
          3. Processing the message queue (in test mode)
          4. Disabling test mode
          5. Processing the message queue (for real)
          6. Summary
      9. 2. Setting up Subscriber Forms
        1. Basic concepts
        2. Setting up a basic subscribe page
        3. Creating a custom subscribe page
          1. Creating attributes
          2. Creating subscribe page
          3. Customizing title and text
          4. Customizing the HTML header and footer
          5. Customizing delivery options
          6. Selecting attributes
          7. Selecting list
          8. Protecting your subscribe page from spammers
            1. Signing up for reCAPTCHA keys and downloading the PHP library
            2. Modifying index.php
            3. Modifying admin/subscribelib2.php
        4. Putting a subscribe form on other applications
          1. Generating HTML code for the subscribe form
          2. Customizing HTML code
            1. Changing the form action
            2. Removing the JavaScript
            3. Optional pop-up confirmation
            4. Removing the subscribe form button
        5. Summary
      10. 3. Setting up E-mail Bounce Handling
        1. E-mail bounce handling
          1. Requirements
          2. Configuring basic bounce settings
        2. Testing and manually processing bounces
        3. Reviewing bounces
          1. Taking action on individual bounces
          2. Interpreting why an e-mail bounced
          3. Examining users whose e-mail bounces
          4. Reviewing unconfirmation actions in the eventlog
        4. Summary
      11. 4. Setting up phpList with Popular Publishing Platforms
        1. Integrating phpList with Drupal
          1. Prerequisites
          2. Installing and configuring the phpList integration module
            1. External phpList configuration
            2. Attribute mapping
            3. My Account—My Newsletters options
            4. Registration Page options
            5. Miscellaneous
            6. Synchronize users to phpList
            7. Turn on debugging
          3. Configuring list access
          4. Configuring Drupal permissions
          5. Clearing Drupal's cache
          6. Confirming access to My newsletters
          7. Adding the phpList subscribe block
            1. Troubleshooting the phpList subscribe block
        2. Integrating phpList with WordPress
          1. Prerequisites
          2. Installing and configuring the phpList Integration plugin
            1. General Settings
            2. Form Settings
          3. Adding a phpList Integration page
          4. Adding a phpList Integration widget
        3. Integrating phpList with Facebook
          1. Prerequisites
          2. Preparing phpList
          3. Creating the Facebook app
          4. Configuring the Facebook page
          5. Making phpList the default tab on your Facebook page
        4. Summary
      12. 5. List, User, and Administrator Management
        1. Individual user management
          1. Updating a user's details and list memberships (as the user)
          2. Unsubscribing a user (as the user)
          3. Examining a user's history (as administrator)
          4. Updating a user's details (as admin)
          5. Bulk user management
          6. Importing users
            1. Importing a simple list
            2. Importing a complex list
          7. Reconciling users
          8. Exporting users
            1. All users
            2. Specific list
        2. Managing lists
        3. Creating a list
          1. Performing member operations on a list
        4. Managing administrators
          1. Creating a restricted admin
          2. Setting admin permissions
          3. Creating a super admin
          4. Assigning administrators to lists
          5. Testing a new administrator
        5. Summary
      13. 6. Personalizing E-mail Body
        1. Enhancing messages using built-in placeholders
          1. Placeholders in confirmation messages
        2. Personalizing messages using member attributes
        3. Sending messages to subsets of lists based on attributes
          1. Increasing the amount of criteria available
        4. Using message templates
          1. Creating a message template
        5. Summary
      14. 7. Measuring Effectiveness of Newsletters
        1. User tracking
          1. Sending a message with user tracking enabled
          2. Examining user-tracking statistics per message
          3. Examining user-tracking statistics per user
        2. Click tracking
          1. Avoiding false spam / phishing detection
          2. Enabling click tracking
            1. Enabling extra detail in click tracking
          3. Sending an e-mail with click tracking enabled
          4. Examining basic click-tracking statistics per message
        3. Examining advanced user/click-tracking statistics
          1. Extra statistics sidebar link
          2. Overview
          3. Viewing clicks by URL
          4. Viewing clicks by message
          5. Viewing opens by message
          6. Viewing domain statistics
        4. Summary
      15. 8. Securing phpList
        1. Changing the admin password
          1. Choosing strong passwords
          2. Changing phpList admin password
        2. Confirming correct filesystem permissions
          1. Confirming permissions in a GUI SFTP/FTP client
          2. Confirming permissions using a shell session
          3. Setting appropriate permissions
        3. Confirming htaccess restrictions are in place
        4. Securing admin pages with additional (htauth) password
          1. Creating an htpasswd file
            1. Creating an htpassword file online
            2. Creating an htpasswd file in a Unix shell
          2. Amending admin/.htaccess
        5. Summary
      16. 9. Advanced Features
        1. Advanced bounce handling
          1. Bounce rules and regular expressions
          2. Creating a new bounce rule
          3. Creating a new rule based on an existing bounce
          4. Auto-generating new bounce rules
          5. Checking current rules against bounces
        2. Domain-based e-mail throttling
        3. Adding attachments to messages
          1. Adding multiple files simultaneously
          2. Attaching files stored on your web server
          3. Securing your attachments stored on the web server
        4. Automatically repeat messages
          1. Sending a repeating message
          2. Forcing a repeating message to repeat before embargo
        5. Auto-generating messages from RSS feeds
          1. Enabling RSS support
          2. Associating an RSS feed with a list
          3. "Getting" new RSS items
          4. User requirements to receive RSS messages
          5. Sending a message including RSS
          6. Setting your RSS message's schedule
        6. Setting up processing automation
          1. Requirements
          2. Customize the CLI "wrapper"
        7. Summary
      17. 10. Hacking phpList
        1. Substituting user attributes in the subject line
          1. Caveat #1-no attribute substitution for a third party
          2. Caveat #2-"Forward message" page displays an un-substituted subject
        2. Sending system messages as HTML instead of text
          1. Code changes
            1. Creating the plain-text part of the message by stripping out the HTML
            2. Sending both the HTML and text versions of the message
            3. Stripping slashes from messages stored in the database
              1. Stripping slashes from a subscribe message for normal subscriptions
              2. Stripping slashes from member data change notifications
              3. Stripping slashes from the confirmation message
              4. Stripping slashes from the unsubscribe message
              5. Stripping slashes from the personal location message
              6. Stripping slashes from the subscribe message for user imports
              7. Stripping slashes from the subscribe message when resending confirmations
          2. Web interface changes
            1. Standard system messages
            2. Subscription and confirmation messages on the pre-existing subscribe page
            3. Tips
              1. Be sure to customize all system messages
              2. Composing HTML messages
              3. How to deal with placeholders producing URLs
              4. Keep CSS styling inline
        3. Creating a messages archive page
          1. Customizing the number of messages displayed per page
          2. Adding a message summary to the list
            1. Hiding the summary in outgoing e-mails
            2. Linking the archives to the main index
        4. Sending messages using your e-mail client
          1. Installing MailToList
          2. Configuring the Mail To List
          3. Whitelisting users
            1. Manually adding users
            2. Importing users
          4. Processing incoming e-mails
          5. Automating Mail To List using cron
          6. Bugs in Mail To List
            1. Plain text messages will come out blank
            2. Plain text or HTML attachments will disappear
        5. Summary
      18. 11. Troubleshooting and Maintenance
        1. General fault diagnosis
          1. Test mode (the "dry run")
          2. Verbose mode tell me what you're thinking
        2. Common errors and warnings
          1. Error: Please make sure that index.php is your default document for a directory
          2. Error: IMAP is not included in your PHP installation, cannot continue
          3. Fatal error: Cannot connect to database, access denied. Please contact the administrator
          4. HTTP Error 500: Internal server error
          5. HTTP Error 404: File not found
          6. Warning: The pageroot in your config does not match the current location
          7. Warning: In safe mode, not everything will work as expected
          8. Warning: The attachment repository does not exist or is not writable
          9. Warning: open_basedir restrictions are in effect
          10. Warning: Things will work better when PHP magic_quotes_gpc = on
          11. Warning: Things will work better when PHP magic_quotes_runtime = off
          12. Warning: You are trying to use RSS, but XML is not included in your PHP
          13. Mailer Error: SMTP Error: Could not connect to SMTP host
        3. Creating a backup
          1. Backing up the database
          2. Backing up the files
        4. Upgrading phpList
        5. Where to find more help and information
        6. Summary
      19. Index