silversurfer Posted November 2, 2007 Posted November 2, 2007 I understand I have two options available to me to email my customers that have subscribed to newsletter. I can use Newsletter Manager, or I can use the Send Email option within Tools. I really need to get my email sent, and at this time can't get newsletter working so I am focusing on Send Email. I know how to send the email, my questions is whether I'm going to upset all my customers or get into trouble releasing my customers email addresses to one another using this method of sending emails. I need to be 100% confident that the code below will send either an individual email to each customer only declaring their own email, or that it sends the same to all customers but with emails bcc'd Help please, a desperate newbie! <?php /* $Id: mail.php,v 1.31 2003/06/20 00:37:51 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions [url="http://www.oscommerce.com"]http://www.oscommerce.com[/url] Copyright © 2003 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); $action = (isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : ''); if ( ($action == 'send_email_to_user') && isset($HTTP_POST_VARS['customers_email_address']) && !isset($HTTP_POST_VARS['back_x']) ) { switch ($HTTP_POST_VARS['customers_email_address']) { case '***': $mail_query = tep_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS); $mail_sent_to = TEXT_ALL_CUSTOMERS; break; case '**D': $mail_query = tep_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_newsletter = '1'"); $mail_sent_to = TEXT_NEWSLETTER_CUSTOMERS; break; default: $customers_email_address = tep_db_prepare_input($HTTP_POST_VARS['customers_email_address']); $mail_query = tep_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_email_address = '" . tep_db_input($customers_email_address) . "'"); $mail_sent_to = $HTTP_POST_VARS['customers_email_address']; break; } $from = tep_db_prepare_input($HTTP_POST_VARS['from']); $subject = tep_db_prepare_input($HTTP_POST_VARS['subject']); $message = tep_db_prepare_input($HTTP_POST_VARS['message']); //Let's build a message object using the email class $mimemessage = new email(array('X-Mailer: osCommerce')); // add the message to the object // START TinyMCE Anywhere // $mimemessage->add_text($message); if (EMAIL_USE_HTML == 'true') { $mimemessage->add_html($message); } else { $mimemessage->add_text(html_entity_decode(strip_tags($message), ENT_NOQUOTES)); } // END TinyMCEAnywhere // END html email $mimemessage->build_message(); while ($mail = tep_db_fetch_array($mail_query)) { $mimemessage->send($mail['customers_firstname'] . ' ' . $mail['customers_lastname'], $mail['customers_email_address'], '', $from, $subject); } tep_redirect(tep_href_link(FILENAME_MAIL, 'mail_sent_to=' . urlencode($mail_sent_to))); } if ( ($action == 'preview') && !isset($HTTP_POST_VARS['customers_email_address']) ) { $messageStack->add(ERROR_NO_CUSTOMER_SELECTED, 'error'); } if (isset($HTTP_GET_VARS['mail_sent_to'])) { $messageStack->add(sprintf(NOTICE_EMAIL_SENT_TO, $HTTP_GET_VARS['mail_sent_to']), 'success'); } ?> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> <title><?php echo TITLE; ?></title> <link rel="stylesheet" type="text/css" href="includes/stylesheet.css"> <?php // START tinyMCE if ($action<>'preview' && EMAIL_USE_HTML == 'true') { ?> <script language="javascript" type="text/javascript" src="includes/javascript/tiny_mce/tiny_mce.js"></script> <?php include "includes/javascript/tiny_mce/mail.php"; }// END tinyMCE ?> </head> <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF"> <!-- header //--> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <!-- header_eof //--> <!-- body //--> <table border="0" width="100%" cellspacing="2" cellpadding="2"> <tr> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft"> <!-- left_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_left.php'); ?> <!-- left_navigation_eof //--> </table></td> <!-- body_text //--> <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> <td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td> </tr> </table></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <?php if ( ($action == 'preview') && isset($HTTP_POST_VARS['customers_email_address']) ) { switch ($HTTP_POST_VARS['customers_email_address']) { case '***': $mail_sent_to = TEXT_ALL_CUSTOMERS; break; case '**D': $mail_sent_to = TEXT_NEWSLETTER_CUSTOMERS; break; default: $mail_sent_to = $HTTP_POST_VARS['customers_email_address']; break; } ?> <tr><?php echo tep_draw_form('mail', FILENAME_MAIL, 'action=send_email_to_user'); ?> <td><table border="0" width="100%" cellpadding="0" cellspacing="2"> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="smallText"><b><?php echo TEXT_CUSTOMER; ?></b><br><?php echo $mail_sent_to; ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="smallText"><b><?php echo TEXT_FROM; ?></b><br><?php echo htmlspecialchars(stripslashes($HTTP_POST_VARS['from'])); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="smallText"><b><?php echo TEXT_SUBJECT; ?></b><br><?php echo htmlspecialchars(stripslashes($HTTP_POST_VARS['subject'])); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="smallText"><b><?php echo TEXT_MESSAGE; ?></b><br><?php echo (stripslashes($HTTP_POST_VARS['message'])); // For html email, otherwise nl2br(htlmlspecialchars?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td> <?php /* Re-Post all POST'ed variables */ reset($HTTP_POST_VARS); while (list($key, $value) = each($HTTP_POST_VARS)) { if (!is_array($HTTP_POST_VARS[$key])) { echo tep_draw_hidden_field($key, htmlspecialchars(stripslashes($value))); } } ?> <table border="0" width="100%" cellpadding="0" cellspacing="2"> <tr> <td><?php echo tep_image_submit('button_back.gif', IMAGE_BACK, 'name="back"'); ?></td> <td align="right"><?php echo '<a href="' . tep_href_link(FILENAME_MAIL) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a> ' . tep_image_submit('button_send_mail.gif', IMAGE_SEND_EMAIL); ?></td> </tr> </table></td> </tr> </table></td> </form></tr> <?php } else { ?> <tr><?php echo tep_draw_form('mail', FILENAME_MAIL, 'action=preview'); ?> <td><table border="0" cellpadding="0" cellspacing="2"> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <?php $customers = array(); $customers[] = array('id' => '', 'text' => TEXT_SELECT_CUSTOMER); $customers[] = array('id' => '***', 'text' => TEXT_ALL_CUSTOMERS); $customers[] = array('id' => '**D', 'text' => TEXT_NEWSLETTER_CUSTOMERS); $mail_query = tep_db_query("select customers_email_address, customers_firstname, customers_lastname from " . TABLE_CUSTOMERS . " order by customers_lastname"); while($customers_values = tep_db_fetch_array($mail_query)) { $customers[] = array('id' => $customers_values['customers_email_address'], 'text' => $customers_values['customers_lastname'] . ', ' . $customers_values['customers_firstname'] . ' (' . $customers_values['customers_email_address'] . ')'); } ?> <tr> <td class="main"><?php echo TEXT_CUSTOMER; ?></td> <td><?php echo tep_draw_pull_down_menu('customers_email_address', $customers, (isset($HTTP_GET_VARS['customer']) ? $HTTP_GET_VARS['customer'] : ''));?></td> </tr> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main"><?php echo TEXT_FROM; ?></td> <td><?php echo tep_draw_input_field('from', EMAIL_FROM); ?></td> </tr> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main"><?php echo TEXT_SUBJECT; ?></td> <td><?php echo tep_draw_input_field('subject'); ?></td> </tr> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td valign="top" class="main"><?php echo TEXT_MESSAGE; ?></td> <td><?php echo tep_draw_textarea_field('message', 'soft', '60', '15'); ?></td> </tr> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td colspan="2" align="right"><?php echo tep_image_submit('button_send_mail.gif', IMAGE_SEND_EMAIL); ?></td> </tr> </table></td> </form></tr> <?php } ?> <!-- body_text_eof //--> </table></td> </tr> </table></td> </tr> </table> <!-- body_eof //--> <!-- footer //--> <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> <!-- footer_eof //--> <br> </body> </html> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
Recommended Posts
Archived
This topic is now archived and is closed to further replies.