Skip to content
A simple yet powerful PHP mailing list solution. Installation is easy since it does not require any database setup. Offers built-in anti-spam functionality to secure you mailing lists from outside visitors. Fully customizable frontend layouts. Includes support for Google Analytics event tracking. View README for more information.
PHP Other
  1. PHP 99.8%
  2. Other 0.2%
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
images
lib
lists
locale
tmp
web
.gitignore
CHANGELOG
GPL
LOG
PhpMailingList.php
README
TODO
UserException.php
VERSION
_footer.php
_head.php
_navigation.php
admin.php
error.php
form.php
index.php
login.php

README

 phpMailingList

 A simple mailing list manager written in PHP.

 Copyright (C) 2016 Matthias Kerstner <matthias@kerstner.at>
 See https://www.kerstner.at/phpmailinglist/ for more information.
================================================================================


REQUIREMENTS
-------------------------

+ PHP 5.3 and higher. Works perfectly with PHP 7+.


INSTALLATION
-------------------------

1) Extract archive to root folder of your webserver, e.g. /wwwroot/phpmailinglist/

2) Edit config.ini to your needs, make sure to specify a valid email for 
   "email_reply_to".

3) Customize form.php, error.php and admin.php to your needs.

4) Be sure to set correct permissions for the lists- and tmp-directory set in
   config.ini.

5) In case you want to password protect your list create a password file. This
   file should only contain one line - the md5 hash'ed value of your password,
   e.g. 098f6bcd4621d373cade4e832627b4f6 for password "test". Have a look at the
   sample list's password file.

6) Test your installation by creating a list, e.g.:

    lists/mylist/

7) Call index.php?list=mylist to use your shiny new mailing list.

    Hint: In case you get write permission errors be sure to set the correct
          permissions for the lists- and tmp-directory (and any subdirectories and
          files).

That should be it for now. Continue with the configuration section below to
customize your setup.


CONFIGURATION
--------------------------

Everything you need (or can) configure can be found in config/config.ini. You
are free to customize 

+ form.php 
+ admin.php 
+ error.php

to your needs. Make sure to leave the core input fields "as-is".


USAGE
--------------------------

phpMailingList provides the following core functionality:

1) SUBSCRIBE: Add members to a mailing list via form.php

2) UNSUBSCRIBE: Remove subscribed members from a mailing list

3) AUTHORIZE: Authorize a subscription request

4) SEND MESSAGE: Send messages to all members of a mailing list, optionally 
    with files attached.


SPAM Prevention
---------------

Starting with version 3 you have the option to either force list members to
LOG IN or to use the CAPTCHA functionality to prevent spam.

1) CAPTCHA

In order to prevent SPAM messages a CAPTCHA field has to be filled out prior to
any of the action provided by form.php, i.e. subscribe, unsubscribe and send
messages. 

This is the default behavior.

2) LOG IN

If you want your users to log in order to be able to send messages activate the
option require_authentication in the configuration.

3) SHORT URLs

As of version 3.2.0 phpMailingList also offers the possibility to use Google's
URL shortener API to get pretty reply links in your mail.

In order to enable this feature enter you API token in config.ini and you are 
all set.


ADDITIONAL INFORMATION
--------------------------

In case you receive a "Failed to send mail" message with an empty recipient 
email make sure that the email corresponds to a correctly configured and 
available domain. phpMailingList checks for valid domains via MX lookup.
You can’t perform that action at this time.