Help
You've got questions. We've got answers.
Using Simple Mailing List
The NotOneBit.com Simple Mailing List is an open source application and is available free of charge with no warranty or support. You may use the forum at NotOneBit.com to seek assistance from others.
Setup. If you've made it to this page, odds are that you've successfully installed the mailing list. Simple Mailing List has no automated install script. Instead, you should create two folders to store the files; one main folder (named anything you want) and one subfolder (called admin). The main folder should simply contain process.php (and optionally an index page to put a subscribe/unsubscribe form). If you decide to change the name of the admin folder, make sure you edit the frist line of process.php to point to the path of your config.inc.php file (which is in the admin subfolder). You can place the HTML code for the subscribe/unsubscribe form on as many or as few pages of your site as you like. You can also (and it's recommended ) add code above and below process.php. Its job is to process subscribe/unsubscribe requests and display the signup form and all subscribe/unsubscribe forms need to point to this page. To see your form code, click here. It's suggested that the remainder of the files be placed in an admin subfolder (following the structure of the files in the zip file you downloaded) and protected with htaccess (if using Apache). You should either upload the tables.sql file or paste the contents into phpmyadmin to create the proper tables. Finally you'll need to edit the config.inc.php file to match your server's settings as well as your list's options. The following variables are in config.inc.php:
Use. In an attempt to stay true to the name of the program, using the Simple Mailing List is simple. The Send Message tab is where you can compose or paste your message in either plain text or HTML. If you've enabled the queue you'll also see the option to schedule the delivery of your message (by default the message defaults to immediate delivery). The Members tab allows you to view, search, and delete members to your list. The Archives tab allows you to view or delete messages that you've sent, and displays then in the order that they were created. The Blacklist tab allows you to prevent one or more users from subscribing to your list.
FAQ
-
How do I get help with the script?
Since the Simple Mailing List is free, you're on your own if you have issues using it. Sort of. The forum at NotOneBit.com is your best bet for getting help.
-
Why doesn't the script come with the ability to do <insert feature here>?
Because I either didn't think of it or it would've taken too much time and effort to implement and I would've had to change the name of the script from the Simple Mailing List to the Pretty Easy to Use Mailing List and that just doesn't roll off the tongue as easily.
-
How do I enable queuing/throttling of email messages so my host doesn't get
angry with me?
Some web hosts (typically in shared environments) prefer that you not send out 100,000 email messages every few hours. This can obviously place undue strain on the web server, and in some cases can result in having your account suspended or even closed. To work around that you can setup the Simple Mailing List to out the messages in queue where only X emails are sent out every Y minutes. For example, if your hosts limits you to sending 500 emails per hour, you can setup the Simple Mailing List to only deliver email up to this limit. The only real requirement is that your server supports cron (or some sort of repeated job scheduling). If you don't have cron on your server, there are some sites that will run cron jobs for you (how thoughtful). You'll typically want to schedule your cron jobs to run a few times per hour (every 15 is recommended). The typical cron path to the file that runs the queue is "php /path/to/sml/consume.php >> /dev/null 2>&1" Once your cron job is setup, you just need to open the config.inc.php file and set the number of messages to deliver each time the cron job kicks off. For example, if you run the queue script every 15 minutes and you want to limit yourself to 500 emails per hour, set $queue_size to 125. You could also set the cron job to run every half hour and the queue size variable to 250; either way you'd get the same result. Queuing messages also allows you to schedule delivery. If you want to create your message now, but send it two weeks later, you can do this as long as you have your queue setup. Without utilizing the queue feature, your email messages are sent as soon as you submit them to all confirmed members.
- Why is there a php.ini file included?
Some hosts allow you to edit/create your own php.ini file. This enables you to set the return-path variable for sendmail which in turns allows you to setup an email address to receive message bounces. Without this there's no way to force bounces to go to a specific email address since the reply to field on an email isn't used for that.
- I have a lot of members but my email isn't getting delivered to them. Oh
yeah and I forgot to mention, I'm not using the queue.
When you don't use the queue, all your recipients are added to the Bcc field of the message. It's possible to exceed the limits of the Bcc field with too many addresses and either some or all of your recipients won't receive your message. To get around this there are two solutions. First, use the queue. By using the queue feature email messages are sent directly to each member individually. The other option is a hack of the code results in messages being sent to members individually. The only real downside to this is that your browser window needs to stay open the entire time your mailing is in progress, because if you close it, you effectively stop the mailing process. You may also need to edit your PHP configuration setting and change the max_execution_time setting to something high enough to allow the mailing to complete. The code you want to change in send.php is the following:
Delete:
$bcc = "";
while ($row = mysql_fetch_assoc($result))
{
$bcc .= "$row[address],";
}
Look for:
if(mail($to, $subject, $send_message, $headers))
{
echo "<p><b><font color=Green>Your message has been successfully sent and archived.</font></b> You can view the message in the <a href=archives.php>Archives</a>.</p>";
}
else
{
echo "<p><b><font color=Red>Unable to send message. Check your server's error log for details.</font></b></p>";
}
Replace with:
while ($row = mysql_fetch_assoc($result))
{
mail($row[address], $subject, $send_message, $headers);
}
Tell A Friend
Like the Simple Mailing List? Why not spread the word and tell your other webmaster friends?
NotOneBit.com
The NotOneBit.com Forum is the primary source of support for the Simple Mailing List and is available at http://www.notonebit.com/forum/.