Simple Mailing List

0) { // Send mail // if sent and archived, print confirmation $query = "SELECT address FROM mailinglist_subscribers WHERE confirmed = '1'"; $result = mysql_query($query) or die("Query failed : " . mysql_error()); $sent_count = mysql_num_rows($result); $bcc = ""; while ($row = mysql_fetch_assoc($result)) { $bcc .= "$row[address],"; } $subscribers = substr($bcc, 0, -1); $to = $owner_email; // $message = wordwrap($message, $columns, "\n"); $sent_date = time(); if ($_POST[format] == 1) { $texthtml = "html"; } else { $texthtml = "text"; } $message = addslashes($message); $query = "INSERT INTO mailinglist_messages (subject,message,created,queued,count,format) VALUES ('$subject','$message','$sent_date','$utime','$sent_count','$texthtml')"; $result = mysql_query($query) or die("Query failed : " . mysql_error()); $message_id = mysql_insert_id(); if (isset($queue_size)) { $address_query = "SELECT address FROM mailinglist_subscribers WHERE confirmed = '1'"; $address_result = mysql_query($address_query) or die("Query failed : " . mysql_error()); while ($address_row = mysql_fetch_assoc($address_result)) { $queue_insert_query = "INSERT INTO mailinglist_queue (message_id,address,send_after) VALUES ('$message_id','$address_row[address]','$utime')"; $queue_insert_result = mysql_query($queue_insert_query) or die("Query failed : " . mysql_error()); } echo "

Your message has been queued for delivery and archived. You can view the delivery progress in the Archives.

"; } else { $message = stripslashes($message); $message .= "\n\n\n\nYou are receiving this message because you have opted in to the $list_name list."; $message .= " To unsubscribe, please follow this link: $unsub_url"; if ($_POST[format] == 1) { $boundary = md5(uniqid(time())); $headers = "MIME-Version: 1.0" . PHP_EOL; $headers .= "Content-type: multipart/alternative;" . PHP_EOL; $headers .= " boundary=\"$boundary\"" . PHP_EOL; $send_message = "you shouldn't see this ever" . PHP_EOL . PHP_EOL; $send_message .= "--$boundary" . PHP_EOL; $send_message .= "Content-type: text/plain;" . PHP_EOL; $send_message .= "Content-Transfer-Encoding: 7bit" . PHP_EOL . PHP_EOL; $send_message .= strip_tags($message) . "" . PHP_EOL; $send_message .= "--$boundary" . PHP_EOL; $send_message .= "Content-type: text/html;" . PHP_EOL; $send_message .= "Content-Transfer-Encoding: 7bit" . PHP_EOL . PHP_EOL; $send_message .= $message . "" . PHP_EOL; $send_message .= "--$boundary--" . PHP_EOL; } else { $send_message = $message; } $headers .= "From: $owner_email" . PHP_EOL . "Reply-To: $owner_email" . PHP_EOL . "Bcc: $subscribers" . PHP_EOL . "X-Mailer: NotOneBit.com Simple Mailer"; if(mail($to, $subject, $send_message, $headers)) { echo "

Your message has been successfully sent and archived. You can view the message in the Archives.

"; } else { echo "

Unable to send message. Check your server's error log for details.

"; } } } ?>

Send A Message

Compose your message in plain text or HTML below. HTML messages are sent in MIME format so that if a recipient cannot view the HTML email, they will see a plain text version automatically.

If sent now, message will be delivered to subscribers. Send as

Type or paste your HTML in the message area below:

"; } if ($_POST[submit_send]) { $message = stripslashes($message); } if ($_GET[t]) { $filename = "templates/" . $_GET[t]; $handle = fopen($filename, "r"); $template = fread($handle, filesize($filename)); fclose($handle); $message = $template; } ?>

Subject

0) { $columns = 75; echo "

Preview (wrapping at column $columns):
\n"; echo "
\n"; if ($_POST[format] == 0) // plain text { echo wordwrap(nl2br(htmlspecialchars($message)), $columns, "
"); } else // html { echo $message; } echo "

"; } if (isset($queue_size) And !$_POST[submit_send]) { echo ""; echo "

Date/time on server: "; include('datetime.php'); echo " (mouseover to refresh)

\n"; ?>
Schedule message to be delivered beginning on or about:
Date: Time:
  ');">

© 2006 NotOneBit.com