On Wed, 20 Mar 2002, Kris Vose wrote: > I have a problem with a piece of code that uses the mail function in a > for loop. It sends out mail to all the users in the database but it has > a problem with attaching their specific name into the message. What > happens is the first user in the database will get their name in the > e-mail (Dear John,). Then the second user in the database will get the > last users name and their name in the e-mail (Dear John, Dear Mike) > ...and so on and so forth. > > If ($button != "") > { > $t = mysql_query("SELECT * from AddExisting"); > $number_of_customers = mysql_num_rows($t); > > for($i=0; $i<$number_of_customers;$i++) > { > $r = mysql_fetch_array($t); > $email = $r["EMAIL_ADDRESS"]; > $cusname = $r["Name"]; > > $to = $email; > $subject = "hello"; > $message = "Dear $cusname,".$message; > $fromaddress = "[EMAIL PROTECTED]"; > > mail($to, $subject, $message, $fromaddress); > }//end of for > }//end of if
You don't need a for loop here; you don't actually care specifically how many customers there are, just that you iterate once for each one. And you've put a raw email address in the "extra headers" argument to mail() rather than a properly-formed From: header. Here's the code you want: if (!empty(button)) { $t = mysql_query("SELECT * from AddExisting"); while ($r = mysql_fetch_assoc($t)) { $message = "Dear {$r[name]},\n{$message}"; mail ($r[email_address], 'hello', $message, 'From: [EMAIL PROTECTED]'); } } miguel -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php