Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Admin Send Email Tool...out-of-control


tedmcdonald

Recommended Posts

Posted

Howdy Folks

 

I used the send email tool yesterday and selected send to Newsletter subscribers only.

 

Instead of one email to each subscriber, it sent out 3 each!

 

Any explanation? Any ideas on how to fix this?

 

Any help is greatly appreciated.

 

I am using a late Sept. 02 snapshot.

 

Best Regards, Ted

Posted

Hi,

 

This happened to me once time, and my customers also received the email three times. The email list had 300 emails.

 

I tried to duplicate this bug on the email list that has only 3 emails, but it did not happen again.

 

I looked at the codes in file mail.php admin tool, and the logic is fine.

I am using snapshot on June 5, 2002.

 

Any suggestion ???

 

Thanks,

Bn

 

Here is the original file mail.php

 

<?php

/*

$Id: mail.php,v 1.30 2002/03/16 01:07:28 hpdl Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2002 osCommerce

 

Released under the GNU General Public License

*/

 

require('includes/application_top.php');

 

if ( ($HTTP_GET_VARS['action'] == 'send_email_to_user') && ($HTTP_POST_VARS['customers_email_address']) && (!$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 bulk mailer'));

// add the message to the object

$mimemessage->add_text($message);

$mimemessage->build_message();

while ($mail = tep_db_fetch_array($mail_query)) {

$mimemessage->send($mail['customers_lastname'] . ' ' . $mail['customers_firstname'], $mail['customers_email_address'], '', $from, $subject);

}

 

tep_redirect(tep_href_link(FILENAME_MAIL, 'mail_sent_to=' . urlencode($mail_sent_to)));

}

 

if ( ($HTTP_GET_VARS['action'] == 'preview') && (!$HTTP_POST_VARS['customers_email_address']) ) {

$messageStack->add(ERROR_NO_CUSTOMER_SELECTED, 'error');

}

 

if ($HTTP_GET_VARS['mail_sent_to']) {

$messageStack->add(sprintf(NOTICE_EMAIL_SENT_TO, $HTTP_GET_VARS['mail_sent_to']), 'notice');

}

?>

<!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">

</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 ( ($HTTP_GET_VARS['action'] == 'preview') && ($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 nl2br(htmlspecialchars(stripslashes($HTTP_POST_VARS['message']))); ?></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, $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'); ?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...