php mySQL
home
 
What 
Demonstration 
Mailing lists 
Download 
Installation 
Upgrade 
License 
Who 

What is PHPlist?

PHPlist is a web application that implements a personalised mailinglist or CRM system. It uses an SQL database for storing the information.

Particular aspects of the system are:

  • Posting to the mailinglist is via a webpage. It is therefore more a kind of "announcements" list system than an actual email mailinglist.
  • It is designed to be able to deal with a very large amount of email addresses.
  • Users can sign up to multiple lists. If a message is sent to multiple lists, they will only receive one copy of the email and not as many as the number of lists they are subscribed to.
  • Attributes. You can specify more information you want to get from users when they sign up. When sending a message, you can use this information to select the users that need to receive the message. For example you can add geographical information. When people sign up, they can identify the geographical location they're in and when sending an email you can determine which locations need to receive the message.
  • Personalisation. You can use the attributes you define in the emails you send, to make every email personal to the user who receives them.
  • PHPlist now supports HTML mail. If a user indicates they want HTML email they can receive it that way. If unknown the system has a bias to send text emails to users.
  • Multiple List managers. One Super user can assign lists to multiple list managers, who can control their own pool of users and lists. The Super user can "prepare" messages that can be chosen by list managers to send to any of the lists they control.
  • Easy import and export. Use TAB delimited files to import your existing list of users or to export the users on the PHPlist system for use in your in-house database.
  • Personal Details. Every email a user receives will contain a personalised URL to update the users' preferences. This way your users can update their own information and your database is always up-to-date.
  • Easy install. Just copy the files to your website folder, tell the login details of the SQL database and it's done.

Rate PHPlist

  • at Freshmeat: Click here
  • at Hotscripts:
  • at PHPdotcom.com!

Requirements

To use PHPlist you need a webserver which supports PHP, a Mysql database and possibly Perl with the Mysql modules installed.

Recommended versions:

  • PHP: 4.2.1, with register_globals on!
  • Mysql: 3.23.xx or up

Demonstration

Check out the demonstration on this site. You can check out everything, except that if you submit a message it will not actually be sent (for obvious reasons).

Development Version

I have now set up PHPlist on CVS and the nightly dump of the CVS is here. Not everything will work, but some changes will be visible.

Download

Download via HTTP. Choose the file with the highest number. I have automated uploading of new versions (to make my life easier), so I don't always update this website with new versions, but they should automatically appear in the files directory.

Mailing lists

There are two mailinglists. One for announcements and one for users. Traffic is low to very low. I used to use PHPlist for the lists, but that's actually not that useful :-), so now I've made the lists normal email mailinglists.

The mailinglist archives are here

Installation

Installation instructions for PHPlist.

  • Take the archive file and unpack it in a temporary directory using "tar zxf phplist-x.y.z.tgz"
  • Move the contents of the directory "public_html" to your HTML area. (mv public_html/* ~/public_html)
  • You will probably want to password protect the "admin" directory in the lists directory.
    That's up to you. Check your webserver documentation. An example htaccess file for Apache is included (rename the "htaccess" file to ".htaccess").
  • Change the stuff in lists/admin/config.php, you certainly will want to change the database location, username and password.
  • Use your browser to go to the admin index on your site (http://www.yoursite.com/lists/admin/) and choose the toplink (Initialise the database).
  • Choose the link "Configure Attributes" to identify the things you want to know from your users and the attributes that the system will offer you to make a selection on when sending messages.
  • Add some lists and you're up and running.
  • Sending messages
    It's useful to make this automatic, so you don't need to think about it, but if that's not possible you can do it manually, by using the "Process Message Queue" link in the admin page.

    If you want to automate it, you may want to use the perl script which you find in the cgi-bin directory. This script is still experimental, so use with care.
    You will probably want to edit the headers and footers as well, although I'd appreciate the use of the "powered-by" image and link.

  • There are three methods to send the messages

    It's useful to make this automatic, so you don't need to think about it, but if that's not possible you can do it manually.

    • Method 1. With PHP, the only option if you don't have perl. Use the link in the admin page to send the messages. Once you've invoked the page, and you get the first message, you can exit the page. The processing will then continue. You can invoke loading the page using libwww-perl (for example).
    • Method 2 and 3. With Perl
      • You need to have the Mysql module installed on the server where the script runs.
      • You also need to edit the variables at the beginning of the script to reflect your settings
      • Method 2. Locally - use the "invoke.sh" script to invoke the script that sends the messages and delete the line that uses the remote option.
      • Method 3. Remotely - use the "invoke.sh" script and delete the line that uses the local option, then install libwww-perl and edit the "remote" line to point to your site.

I may soon add a "public" site where you can create your own lists, so if you don't manage to install it, you may be able to use that service.

Upgrade

If you installed a version before, read the file UPGRADE before continuing.

Upgrade has simplified dramatically. Just click the Upgrade link, and follow the steps

License

PHPlist is licensed under the GPL.
If you use it, it would be great if you let me know. Send an email to phplist@tincan.co.uk with your name and the URL where you use it, and I'll add you to the list below.

Author

The author of this system is Michiel Dethmers, . Tincan develops bespoke dynamic websites. Clients include the National Theatre, and CancerBACUP. If you have any questions, about this system, or about other projects, don't hesitate to contact us. If you have suggestions for new features, please check the TODO file first before mailing us. We have a lot of ideas how to improve it. If your idea is not listed in the TODO file, please let us know.

Some sites using PHPlist

Please do not contact anyone of these sites about PHPlist. Use the above mailinglists instead. Thanks.

Changes planned, see TODO in the tar file.


© tincan limited | php list