Installation instructions can be found in install.txt
This is an overview of capabilities for the program. It's pretty
small, so I'm not going to spend a lot of time formatting it.
The template files (page.open.php and page.close.php) -
These are 2 template files, open going before and close going after
the responder's output. Use a php include from these files to include
your pages where-ever they should go. This'll let you integrate the
responder into practically any design.
** A new feature **
Unsubcribe message: To comply with Can SPAM and other legal measures, it's
important to have an unsubscribe message for any subscription-based system
that sends out emails. Originally I had these sent out automatically, but
then I decided to replace it with a tag.
Put:
%unsub_msg%
At the end of any message that you want to include an unsubscribe link.
Complete message tag list:
%unsub_msg% - The unsubscribe message
%SiteURL% - The URL of your site in $siteURL
%RespDir% - The directory in $ResponderDirectory
%subr_emailaddy% - Subscriber's email address
%subr_firstname% - Subscriber's first name
%subr_lastname% - Subscriber's last name
%resp_ownername% - Responder's owner's name
%resp_owneremail% - Responder's owner's email
%resp_replyto% - Responder's reply-to email
%resp_name% - Name of the responder
%resp_desc% - Responder's description
%msg_subject% - The message subject line
%Subr_JoinedDay% - The day that the subscriber joined
%Subr_JoinedMonth% - The numerical month that the subscriber joined
%Subr_JoinedMonthNum% - The month that the subscriber joined
%Subr_JoinedYear% - The year that the subscriber joined
%Subr_LastActiveDay% - Day of last activity for the user (last message sent, etc)
%Subr_LastActiveMonth% - Month of last activity for the user
%Subr_LastActiveMonthNum% - Numerical month of last activity for the user
%Subr_LastActiveYear% - Year of last activity for the user
Tags are parsed from the message subject line and both the HTML and the Text
message versions.
Example: ----------------------------------------------
Hi %subr_firstname%
Last %Subr_LastActiveMonth% you got the last part of our e-course %resp_name% ...
I hope you enjoyed it. Please visit us again. %SiteURL%
Sincerely,
%resp_ownername%
%resp_owneremail%
-------------------------------------------------------
List.php -
Is a responders list. Clicking "join" will take people
to a subscription form for that responder. This means that you can
refer people to list.php if you want to provide them with a list of
responders that you have.
At the beginning of list.php, around line 35, you'll see an anti-spam
variable. This is a little way to make it more difficult for spammers
to harvest your address from the listing page. Useful, but if you
have particularly impatient (or unintelligent) visitors then they may
forget to remove the antispam string and have problems sending you email.
You can simply set it to a blank string if you want to disable it.
Admin.php -
Admin.php is the admin control panel. Just:
http://www.yourdomain.com/dir/admin.php
Will load the admin control panel. Once logged in you'll have several
different options.
"Edit list" takes you to the responder list so that you can edit, add and
erase responders.
"Code It!" gives you a simple subscription form that you can copy and paste
into your page where-ever you want it.
The email address search uses a MySQL like statement to scan the database for
addresses similiar to your search phrase. Don't go overboard on this, I don't
think it supports soundex or anything other than a simple in-string match.
Still, it's pretty convenient if you know that "john@doe.org" has subscribed
and you need to edit his options (like if he sends you an email asking for you
to change his HTML settings or wants a re-send)
Under the users list you'll see the list, have the ability to edit or delete
each user or have the ability to add a new user. This user page should split
itself up into a certain number of entries per page in order to make things
more managable. Line 252 of admin.php (or thereabouts) has a $SubsPerPage
variable that can set this number for you.
At the top of the page you'll see an "Add a list" ... this is a bit confusing.
It gives you the ability to add a comma-spliced list into your user database.
Nifty for bulk imports. You can copy-paste the file or use the file input to
upload the file from your harddrive.
Responders.php -
The edit users option takes you back to admin.php to edit users.
"Code it!" gives you another chance to get a subscriber form.
If you'd like to add a new responder, click "new" ... pretty simple, eh?
If you want to add a new message then click "edit", scroll down and click
"new" at the bottom.
Keep in mind that all of the messages will appear on this page (atleast for
this version) so if you've got afew hundred messages then it might take a
while to download the list.
To edit a message just click edit. The "Time to run" is the amount of
time after the initial join. Persistent messages, ie: messages that are
sent out every X number of days, aren't supported. I might add this ability
later but many times that's better suited to a standard newsletter package
or one of a hundred other generic autoresponders. I created this program
specifically for email courses and sales announcements in mind.
Ie: Pre-program the system to send out a discount announcement 1 month after
they join, and so on. This can be especially powerful in conjunction with
a standard newsletter. A completely-automated system of marketing is now
at your disposal.
If you absolutely must have something persistent then I suggest doing
a weekly schedule and just setting it up as 12 or 16 messages... then using
the occasional schedule breaker to get their attention. It may take 30 or
more messages to get a good campaign, but the results will be well worth it.
People tend to get used to, and take for granted, messages that come on a
regular schedule.
In the next version I will probably add a file load option in the message
body. For now, however, you'll have to copy and paste.
The message body supports quite a few HTML tags, but it won't support all
of them. Tables and more complex formatting can be a bit tricky. You can
disable the tag filtering if you want to edit the MakeSemiSafe function
under evilness-filter.php. Only the HTML body and the responder descriptions
are processed by the MakeSemiSafe function so altering it won't have much effect
on anything else within the script. You can also add tags under the allowed tags
variable at the top of the function.
You may also want to put a small privacy statement in the responder
description if you feel that it's appropriate.
Remote subscriptions -
Since I designed this to be email-course friendly, I figured someone out
there might want to use this to handle subscriptions advertised by
others. Ie: Design an email course for your affiliates to give away, but
let them handle the form capture from their end to build both of your
subscriber bases.
For this reason the subscribe routine has a silent subscription feature
that will disable all normal output, including the template files. It won't,
however, disable the confirmation message sent to their email address.
Trust me, this is a good thing. It eliminates bounces and spam accusations.
In order to set this up you'll need to know the subscription request
variables.
e = The email address
r = The responder ID
a = "sendconfirm"
h = 1 for HTML email. 0 for text.
s = 1 for silent sub, 0 for normal.
So lets say you want to set this up from yourdomain.com under /course:
http://www.yourdomain.com/course/subhandler.php?e=$email&r=$resp&a=sendconfirm&h=$html&s=1
Then simply set up your PHP variables: $email, $resp and $html.
At that point, all you have to do is call that link somehow.
You can use a refresh or redirect, or img load.
Personally, I perfer the redirect... it's more seamless.
Img load:
Where blah is the link above. You may need to php-ize the quotes or use an echo
to print the variables into the link.
PHP Example:
print "
\n\r";
HTML example:
If you're using a refresh or redirect then you may want to have a "if you're not
redirected in X seconds, click here:" type backup too. If you want to eliminate
some of that lengthy link or allow yourself to change the responder ID here and
there (which happens, trust me... flexibility is good) then you may want to use the
wrapper provded in sub_wrapper.php.
Read the instructions in sub_wrapper.php to set it up. From there, other's can
simply call it as an img load or a redirect (again, I perfer the redirect.
sub_wrapper has full instructions that your affiliates can follow). A complete
example of using the wrapper is available there as well.
Persistent connections -
PHP offers a mysql_pconnect function that creates a persistent connection. If you're
using this script in a heavy way... ie: lots of responders, subscribers or messages,
do yourself a huge favor and un-comment the pconnect line and re-comment the
standard connect line in functions.php under DB_connect. I've never tested persistent
connections so I don't how if it'll work, but according to the php manual they're
supposed to be fairly interchangable. Doing this will reduce the load on your server
and probably speed up your queries. If you do use pconnect send me an email and let
me know how it goes... especially any bugs or problems that you discover.
Sending a new message to entire list at the same time -
This can be done very easily. Just create a new message and set it's time to
1 minute (not 0. Zero might end up with it not being sent). This will add a
message to the database and send it out on the next cycle. You can add as many
of these messages as you want, you can edit them and resend them out to
specific users, lots of different options.
POP3 -
Once the responder is created go into edit responder and
change the POP3 settings. The settings are pretty simple:
Enabled - Turns POP3 on or off for this responder.
Use HTML - Should people subscribed via Email get HTML-based emails?
Clear Msgs - Erases messages after they're downloaded by sendmails.php
Confirm - Whether or not you want to send a confirmation before subscribing people.
Mailbox - For most people this should just be INBOX. But if you've got access
to procmail and server-side boxes, you can use whatever you want.
Username - The username
Password - The password to log into the mailbox
Since HTML email is more likely to get treated as spam, common settings might be:
HTML - Yes
Clear msgs - Yes
Confirm - Yes
For a dedicated confirmed opt-in HTML list.
HTML - No
Clear - No
Confirm - No
For a transparent auto-mailer that can easily attach to your primary
email addresses for automated follow-ups and list building.