[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
Re: [PHP] weird mail function problem
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
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
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