Re: [PHP] weird mail function problem

2005-02-21 Thread Randy Johnson
You should have this at the top of your for loop
$body=;

Ahmed Abdel-Aliem wrote:
hi
i use this code to send email from mysite
but when it sends to some accounts it repeats the body part twice in
the same email while to other accounts it sends the body one time only
can anyone help in that plz ?
if ($email_to != ) {
$to = array();
$to = explode (,, $email_to);
$to_mum = count($email_to);
for ($i=0; $i$to_mum ; $i++){
$to_email = $to[$i];
$subject = $email_subject;
$body .= $HTTP_POST_VARS['message'];
$body .= \n---\n;
$body .= Article Name :;
$body .= \n---\n;
$body .= $Article_Name;
$body .= \n---\n\n; 
$body .= \nStory :\n\n;
$body .= $TheStory; 
$body .= \n\n\n---\n;
$body .= Sent By:  . $HTTP_POST_VARS['email_address'] . 
\n;
$header = From:  . $HTTP_POST_VARS['email_address'] .  
 .
$HTTP_POST_VARS['email_address'] . \n;
$header .= Reply-To:  . $HTTP_POST_VARS['email_address'] .  
 .
$HTTP_POST_VARS['email_address'] . \n;
$header .= X-Mailer: PHP/ . phpversion() . \n;
$header .= X-Priority: 1;
mail($to_email, $subject, $body, $header);
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


RE: [PHP] weird mail function problem

2005-02-21 Thread Brett Patterson
First off, this is not the most efficient way to send mail as it closes 
reopens connections to the server for each mail.  Look into using PEAR.

Secondly, I would not loop through everything for each email address.  One
way to do it would be to say:

If($email_to != ){
$to = explode(,, $email_to);
$to_email = ;
$i = 0;
While($i=count($to)){
$to_email .= $to[$i];
}
// Now, just create 1 email, and send it to all the names
  $subject = $email_subject;
  $body .= $HTTP_POST_VARS['message'];
  $body .= \n---\n;
$body .= Article Name :;
$body .= \n---\n;
$body .= $Article_Name;
$body .= \n---\n\n;   
$body .= \nStory :\n\n;
$body .= $TheStory; 
$body .= \n\n\n---\n;
$body .= Sent By: .$HTTP_POST_VARS['email_address'].\n;
$header = From: .$HTTP_POST_VARS['email_address'].
.$HTTP_POST_VARS['email_address'].\n;
$header .= Reply-To: .$HTTP_POST_VARS['email_address'].
.$HTTP_POST_VARS['email_address'].\n;
$header .= X-Mailer: PHP/ . phpversion() . \n;
$header .= X-Priority: 1;
  $header .= To: Some [EMAIL PROTECTED]; // Masks To: field
mail($to_email, $subject, $body, $header);
}

That would make more sense, yet still the server load would be huge because
of all the opening and closing of connections.  Look into PEAR::Mail or
using SMTP.

~Brett

-Original Message-
From: Ahmed Abdel-Aliem [mailto:[EMAIL PROTECTED] 
Sent: Monday, February 21, 2005 2:39 PM
To: php-general@lists.php.net
Subject: [PHP] weird mail function problem

hi
i use this code to send email from mysite
but when it sends to some accounts it repeats the body part twice in
the same email while to other accounts it sends the body one time only
can anyone help in that plz ?


if ($email_to != ) {
$to = array();
$to = explode (,, $email_to);
$to_mum = count($email_to);
for ($i=0; $i$to_mum ; $i++){
$to_email = $to[$i];
$subject = $email_subject;
$body .= $HTTP_POST_VARS['message'];
$body .= \n---\n;
$body .= Article Name :;
$body .= \n---\n;
$body .= $Article_Name;
$body .= \n---\n\n;

$body .= \nStory :\n\n;
$body .= $TheStory; 
$body .= \n\n\n---\n;
$body .= Sent By:  .
$HTTP_POST_VARS['email_address'] . \n;
$header = From:  .
$HTTP_POST_VARS['email_address'] .   .
$HTTP_POST_VARS['email_address'] . \n;
$header .= Reply-To:  .
$HTTP_POST_VARS['email_address'] .   .
$HTTP_POST_VARS['email_address'] . \n;
$header .= X-Mailer: PHP/ . phpversion() . \n;
$header .= X-Priority: 1;
mail($to_email, $subject, $body, $header);

-- 
Ahmed Abdel-Aliem
Web Developer
www.ApexScript.com
0101108551

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] weird mail function problem

2005-02-21 Thread Richard Lynch
Ahmed Abdel-Aliem wrote:
 hi
 i use this code to send email from mysite
 but when it sends to some accounts it repeats the body part twice in
 the same email while to other accounts it sends the body one time only
 can anyone help in that plz ?

   if ($email_to != ) {
   $to = array();
   $to = explode (,, $email_to);
   $to_mum = count($email_to);
   for ($i=0; $i$to_mum ; $i++){
   $to_email = $to[$i];
   $subject = $email_subject;
   $body .= $HTTP_POST_VARS['message'];

Right here, you begin adding stuff to $body

Which is fine (more or less) the FIRST time through, but every time you
loop back here for the next email, you add on the body *again*

So the second person has TWO copies, the third person has THREE, etc.

Change this line to NOT have the '.' in the '.=

You should also consider just sending ONE email with a Bcc: line to all
recipients.

This will be a lot more efficient if you need to send a LOT of copies at
once.

   $body .= \n---\n;
   $body .= Article Name :;
   $body .= \n---\n;
   $body .= $Article_Name;
   $body .= \n---\n\n;
   $body .= \nStory :\n\n;
   $body .= $TheStory;
   $body .= \n\n\n---\n;
   $body .= Sent By:  . $HTTP_POST_VARS['email_address'] 
 . \n;
   $header = From:  . $HTTP_POST_VARS['email_address'] . 
   .
 $HTTP_POST_VARS['email_address'] . \n;
   $header .= Reply-To:  . 
 $HTTP_POST_VARS['email_address'] .   .
 $HTTP_POST_VARS['email_address'] . \n;
   $header .= X-Mailer: PHP/ . phpversion() . \n;
   $header .= X-Priority: 1;
   mail($to_email, $subject, $body, $header);

 --
 Ahmed Abdel-Aliem
 Web Developer
 www.ApexScript.com
 0101108551

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




-- 
Like Music?
http://l-i-e.com/artists.htm

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php