Reminder
- Documentation [Download Now | Requirements | Online Documentation | Demo | Register ($50)]
Welcome to the online manual for Reminder. This documentation is divided into several parts:
Reminder is fairly simple to install. First, you need to make sure that your web server meets the following requirements: support for PHP4.2 or newer, access to a MySQL server, access to sendmail, and the ability to run CGI scripts. If you're not sure whether or not your server meets these requirements, you should ask the person who owns or operates it.
Assuming your server meets the requirements for Reminder, you're ready to go. Unzip the reminder.zip file that you downloaded. Inside you'll find the following files:
The first thing you'll need to do is open up the config.php script. You should open it up in a plaintext editor, like Notepad or SimpleText. Set all of the variables to the values you'd like to use. If you need some help with this, check the Variables section of the manual below.
Once you configure the variables in config.php, upload all of the files in ASCII mode to a directory on your web server. I recommend creating a new directory called "reminder" in your document root. Now access the install.php file in your web browser. For example, if you uploaded the files into the "reminder" directory on your server, you would load http://example.com/reminder/install.php in your web browser. The installation script will alert you to its progress (the entire installation takes less than a second on a fast web server). It will also give you hints if it encounters any errors.
If you made it this far, Reminder is totally installed. The first thing you should do is visit the Options/Setup area to set your preferences. Go to the Using Reminder section to see how.
This section of the manual deals with the variables you need to configure before using Reminder. If you're having problems or you don't know what values to use, hopefully you'll find some help here. The variables in config.php are listed below, along with explanations. When editing the variables, make sure that you keep the proper formatting (quotation marks, semicolons, etc) intact.
$sqlhost should be set to the server name or IP address of the host that runs your MySQL server. In most cases, setting this variable to "localhost" is the best idea.
$sqluser must be set to the username you use to access your MySQL server. If you own your own server, you should know this; otherwise you may need to contact your web host's technical support to determine the SQL username.
$sqlpass must be set to the password you use to access your MySQL server. If you own your own server, you should know this; otherwise you may need to contact your web host's technical support to determine the SQL password.
$sqldbname must be set to the database name you want to use for Reminder on the MySQL server. If you do not own your server, you may be required to use a pre-determined database name (contact your web host's technical support to find out).
$sqltype must be set to "mysql" as this is the only supported value. If you change it to something else, Reminder will not work. Support for other SQL database types (pgsql...) may be added in a future version.
$version is the eight-digit version/revision number for your copy of Reminder. It corresponds to the date that your copy was released to the public. You should not change this number.
$checkvers determines whether or not Reminder will automatically check for updates when you run the script. This feature is disabled by default, because it causes an off-site URL to be accessed and can slow down performance. To enable this feature, set this variable to have a value of 1 instead of 0.
In addition to the required configuration variables in config.php, Reminder offers several options which are stored on the database. These preferences can be accessed using the "Options/Setup" button on Reminder's index page. The options are explained in detail on that page, and also below:
Return address: All mail that Reminder sends will use this email address as the "From" address. You must set this to a valid email address that you control.
Notify: When set to "Yes," you will be notified via email (to the address specified above) when someone adds himself to or removes himself from the mailing list.
List Name: The name you want Reminder to use when it refers to your list in email messages. This happens in two places: confirmation messages sent to recipients who sign themselves up, and at the bottom of each email Reminder sends.
Delay: The delay, in days, between each message sent to a recipient. For example, if you want your recipients to receive one message per week, set Delay to 7.
Main URL: In order to generate some internal links, Reminder needs to know where it's installed. You should set Main URL to the internet address of Reminder's index.php file, e.g. http://example.com/reminder/index.php
User URL: Specify the URL to Reminder's user.php file here. Reminder uses this URL to generate confirmation and unsubscribe links in email messages.
Signup Success URL: When a user is successful at signing himself up for the list, Reminder will print out a default message to indicate the success. If you'd rather have the user get redirected to a custom page (to match your site layout, etc.) instead of seeing the default message, you can specify the URL here.
Signup Failure URL: When a user is NOT successful at signing himself up for the list, Reminder will print out a default message to indicate the failure. If you'd rather have the user get redirected to a custom page (to match your site layout, etc.) instead of seeing the default message, you can specify the URL here.
Unsubscribe Success URL: When a user is successful at removing himself from the list, Reminder will print out a default message to indicate the success. If you'd rather have the user get redirected to a custom page (to match your site layout, etc.) instead of seeing the default message, you can specify the URL here.
Unsubscribe Failure URL: When a user is NOT successful at removing himself from for the list, Reminder will print out a default message to indicate the failure. If you'd rather have the user get redirected to a custom page (to match your site layout, etc.) instead of seeing the default message, you can specify the URL here.
Confirm Success URL: When a user is successful at confirming his subscription the list, Reminder will print out a default message to indicate the success. If you'd rather have the user get redirected to a custom page (to match your site layout, etc.) instead of seeing the default message, you can specify the URL here.
Confirm Failure URL: When a user is NOT successful at confirming his subscription to the list, Reminder will print out a default message to indicate the success. If you'd rather have the user get redirected to a custom page (to match your site layout, etc.) instead of seeing the default message, you can specify the URL here.
Headers: You can specify extra mail headers to be included in outgoing email messages (max 255 characters). Place one header per line. Extra headers are completely optional; most users will not have a need for this setting.
Using Reminder is, at least in my opinion, pretty simple. All you have to do is visit the URL to your installed copy. For example, if Reminder is installed at http://www.example.com/reminder/, just visit that URL. The main menu will appear and use of the program is straightforward.
Adding a Recipient
When you want to add a new recipient, starting the mailing process is simple. Just run Reminder, enter the recipient's name and email address, and click the "Add New Recipient" button. The user will be added to your database and the first message in your series will be mailed to them automatically. Note that there is no confirmation process for recipients that you add yourself. You, as the list administrator, are trusted to only add people who have requested to receive your mail.
Removing a Recipient
If you want, you can manually remove someone from the mailing list. Just enter their email address and click the "Remove Recipient" button. Their email address will be removed from the database and they won't get any more mail from you. Normally you won't need to do this, because your recipients can remove themselves with a simple click.
Processing Messages
Every day you should run Reminder and click the "Process Today's Mail" button one time. When you do this, Reminder will automatically send out all emails which need to be sent, and update each recipient's database entry. If you accidentally miss a day, that's OK, your recipients will just get their next message a day later than scheduled. Reminder handles expiration by itself; when someone has received your entire series of messages, their database record will be updated so that they no longer receive mail.
You can automate this process, and it's suggested that you do so if possible. On a unix-based server, simply add a cron job to load Reminder's "process.php" file (via lynx, wget, etc) once each day.
Editing Messages
The messages you define are, of course, the core of Reminder. Reminder works by sending those messages over an incremental period. To edit your messages, click the "Edit Messages" button on Reminder's main form. You'll be taken to the message list, which displays the subjects of your existing messages and provides the capability to edit them or add a new message. Messages are sent in the order that they appear in this list.
Reminder comes with two sample messages. You can delete these messages and add your own, or you can simply edit the samples to fit your own needs. To complete either task, click the "Edit" button next to a message's subject in the list. This will invoke the message editor view, which allows you to edit or delete a message.
To add a new message, click the "Add Message" button on the message list display.
When editing messages, there's a special keyword you can use to make a recipient's name appear in the email. This lets you personalize your messages so that they appear to have been sent individually to each recipient. Use the eight-character identifier %%NAME%% wherever you want the recipient's name to show up. If the recipient's name is unknown - this can happen if they don't provide it when they subscribe, or if they subscribe via email to your autoresponder - Reminder will insert their email address instead. You can use the %%NAME%% keyword in either the message body or the subject line.
Recipient Functions
The two most important recipient functions - adding and removing - are available on Reminder's main page. Three more functions have been provided for convenience and they can be accessed by clicking the "Recipients" button on the main page.
Lookup User Details: If you enter an email address and click the "Lookup User Details" button, you'll receive itemized information about that recipient. A sample record detail is below:
Recipient Name: shaun@shat.net Email Address: shaun@shat.net Messages Received: 2 Date Added: 2002-08-07 01:06:38 Last Message Received: 2002-08-08 04:14:21 Added By: User subscribed himself Confirmation Info: Confirmation key: f16717730a20913b1476f4729aff65b7
Confirmed on: 2002-08-07 01:07:31
Confirmed by IP: 192.168.1.25Note that in the case of users who subscribed themselves, this information includes the date and time that they confirmed their subscription, as well as the IP address they were using when they did so. This information can be valuable if one of your recipients signs up, forgets they subscribed, and later accuses you of spamming. Note that confirmation details are not available for recipients that you (the administrator) manually added to the list.
List Active Recipients: Displays a list of all users who are currently active in the database. These are users who are on the list and have not yet received all the messages in your series.
List All Recipients: Displays a list of both active users and users who have received all of the messages in your series. This does not include recipients that you removed via the "Remove Recipient" button on Reminder's main page, or recipients who have unsubscribed themselves from the list; users in both categories are permanently deleted from the database.
Letting Users Subscribe Themselves
Instead of manually adding new recipients to your list, you can allow visitors to your site to sign themselves up. All you need to do is create a form with a method of POST and an action of your installed copy of Reminder's user.php. Your form must contain two fields, "name" and "email." See sample-subscribe-form.html, included with Reminder, for an example.
You can also integrate subscription into your own existing signup form (for example, your site registration form). To do so, have your form access your installed copy of Reminder's user.php, specifying the "name" and "email" values. For example, if someone signs up for your site with the name Bob and the email address bob@example.com, your registration script would need to access:
http://example.com/path/to/reminder/user.php?name=Bob&email=bob@example.com
The method you use to access this URL depends on the language in which your existing form is written. You should not display the output from this URL.
Letting Users Unsubscribe Themselves
Every message sent out by Reminder includes an unsubscription link. In order to ensure that the unsubscribe option is available to your recipients, you must set the "User URL" on Reminder's Options/Setup page to an accurate value.
Reminder comes with limited autoresponder support, allowing recipients to sign themselves up by sending an email (with any contents) to a specified address, as opposed to posting a form on your website. This functionality is contained within the autoresponder.php file, and is recommended for advanced users only - users who are not familiar with unix should stick to Reminder's web-based features. The autoresponder capability has some additional requirements above and beyond the rest of Reminder:
To set up the autoresponder, you'll first need to edit autoresponder.php. Change the first line of the script to reflect the location of the PHP binary on your server. If you're unsure, issue the command "which php" or "whereis php" to find out.
Next, choose the email address you'd like your autoresponder to use. This can be any address on your system which is not currently in use; something like "signup" or "auto" will suit the purpose. Edit your mail aliases file to point that alias at your installed copy of Reminder's autoresponder.php file, and rebuild the alias database if necessary. On a FreeBSD system running sendmail, this can be taken care of with the following commands:
# cd /etc/mail
# echo "signup: |/path/to/reminder/autoresponder.php" >> aliases
# make
On some systems you may also need to run the command
# newaliases
If this is successful, anyone who emails signup@yourdomain will receive a subscription confirmation as if they'd subscribed to your list via a web form. This is the only task that the autoresponder script is currently capable of handling. It should be noted that the autoresponder script has not been widely tested is not a supported part of Reminder. The autoresponder may generate unusual maillog entries or delivery failures. You have been warned :)
Reminder is $50.00 shareware. If you install and use Reminder, you are obligated to register. The downloadable version of Reminder is not crippled in any way, as I don't believe in forcing people to pay for software; however, if you do make use of Reminder I'm trusting you to pay for it. If gradual mailings with Reminder help you to make a single sale or recruit even one new prospect into your business, Reminder will have already paid for itself. Consider it a sound investment.
Payments are accepted via PayPal, credit card, cash, or check. Click the appropriate link below to register.
| Click here to register using Mastercard, Visa, American Express, Discover, Diner's Club, Eurocard, JCB, cash, or check. |
Registration supports future development of Reminder. However, the only way I know whether or not people like Reminder is to count the number of people who register it. By registering Reminder, you will obtain a One-Site License which allows you to install as many copies of Reminder as you like on a single website. If you plan to use Reminder on several different websites, you should purchase a new license for each site.
Known Limitations: No major limitations at this point.
You really, really should run the Reminder script and Process Today's Messages once a day. Missing a day is no longer a big deal (in previous versions it would completely throw off the mailing cycle) but you'll appear more professional if your messages arrive when you say they will.
I recommend running Reminder via a cron job, if you have access to cron on a unix machine. The following command will both get the job done:
lynx -dump http://path/to/reminder/process.php > /dev/null
TODO:
|
|