Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

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


tedmcdonald

Recommended Posts

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

Link to comment
Share on other sites

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'); ?>

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...