Jump to content

[SOLVED] [Problem] sending a email with php to many emailadressen, using a database


funzmu

Recommended Posts

 

 

                                                        //Showing all emails in database

<?php

mysql_connect("localhost","sa","pass");

mysql_select_db("DB");

 

$qr = mysql_query("select mail_addr FROM Memb_Info");

 

$nrows = mysql_num_rows($qr);

for ($i=0; $i < $nrows; $i++) {

$row = mysql_fetch_array($qr);

echo $row['mail_addr']."<br><br>";

}                                                     

 

 

                                                              //Sending email

$to = $row['mail_addr'];               

$subject = "hi";

$body = "message";

$headers = "From: me@hotmail.com\r\n" .

    "X-Mailer: php";

if (mail($to, $subject, $body, $headers)) {

  echo("<p>Message sent!</p>");

} else {

  echo("<p>Message delivery failed...</p>");

}                                                                   

?>

 

 

When I use this script, it only sends a email to the last person in the database. who can help me?

 

 

Link to comment
Share on other sites

<?php
mysql_connect("localhost","sa","pass");
mysql_select_db("DB");

$qr = mysql_query("select mail_addr FROM Memb_Info");

while ($row = mysql_fetch_array($qr)) {
   $tolist .= $row['mail_addr'] . ", ";
}                                                       

//Sending email
$subject = "hi";
$body = "message";
$headers = "From: me@hotmail.com\r\n" .
    "X-Mailer: php";
if (mail($tolist, $subject, $body, $headers)) {
  echo("<p>Message sent!</p>");
} else {
  echo("<p>Message delivery failed...</p>");
}                                                                     
?>

 

Link to comment
Share on other sites

Sorry, I don't understand, I am just a beginning n00b.

I try this:

 

<?php

mysql_connect("localhost","sa","pass");

mysql_select_db("DB");

 

$qr = mysql_query("select mail_addr FROM Memb_Info");

 

while ($row = mysql_fetch_array($qr) ) {

  for ($row['mail_addr']  = 1 + mail_addr)

  $tolist .= $row['mail_addr'] . ", ";

 

                                                 

//Sending email

$subject = "hi";

$body = "message";

$headers = "From: me@hotmail.com\r\n" .

    "X-Mailer: php";

if (mail($tolist, $subject, $body, $headers)) {

  echo("<p>Message sent!</p>");

} else {

  echo("<p>Message delivery failed...</p>");

}                                                                   

?>

Link to comment
Share on other sites

right...as mentioned, if you want to break it down, put it inside a loop. There are many ways to do this, with different things to consider (lookup php bulk emailing), but one example:

 

<?php
mysql_connect("localhost","sa","pass");
mysql_select_db("DB");

$qr = mysql_query("select mail_addr FROM Memb_Info");

while ($row = mysql_fetch_array($qr) ) {
   for ($row['mail_addr']  = 1 + mail_addr)
   $tolist .= $row['mail_addr'] . ", ";
}   

//Sending email
$subject = "hi";
$body = "message";
$headers = "From: me@hotmail.com\r\n" . "X-Mailer: php";

foreach ($tolist as $currentemail) { // loop to cycle through email addresses one at a time
   if ($currentemail, $subject, $body, $headers)) {
      echo("<p>Message sent!</p>");
   } else {
      echo("<p>Message delivery failed...</p>");
   }
} // end foreach
?>

   

Link to comment
Share on other sites

<?php

mysql_connect("localhost","sa","pwd");

mysql_select_db("db");

 

$qr = mysql_query("select Test_Info FROM Memb_Info");

 

while ($row = mysql_fetch_array($qr)) {

  $tolist .= $row['Test_Info'] . ", ";

}                                                     

 

$subject = "hi";

$body = "nice";

$headers = "From: test@hotmail.com\r\n" .

    "X-Mailer: php";

 

foreach ($tolist as $currentemail) { // loop to cycle through email addresses one at a time

  if ($currentemail, $subject, $body, $headers)) {

      echo("<p>Message sent!</p>");

  } else {

      echo("<p>Message delivery failed...</p>");

  }

} // end foreach

?>

 

 

 

Parse error: syntax error, unexpected ',' in /home/joran/domains/funzgames.com/public_html/mail/test.php on line 17

 

an error in this  if ($currentemail, $subject, $body, $headers)) {

 

I need some good tutorials ^^ I don't see the , error  ???

 

Link to comment
Share on other sites

Oops. I set it up originally to just make a comma separated list. You need to change this:

 

while ($row = mysql_fetch_array($qr)) {
   // this one make one long string of your emails, separated by commas
   $tolist .= $row['Test_Info'] . ", ";
}

 

to this:

 

while ($row = mysql_fetch_array($qr)) {
   // this one makes an array of your emails
   $tolist[] = $row['Test_Info']; // this 
}

 

Link to comment
Share on other sites

Allright :) it's working now... Great job, you helped me alot :):):)

 

Here is the complete working script for people who need it also:

 

<?php

mysql_connect("localhost","sa","pwd"); //your sqlname, userlogin, password

mysql_select_db("db");                      //Database that need to be connected

 

$qr = mysql_query("select monkeys FROM 1234"); //Select monkeys from table name 1234

 

while ($row = mysql_fetch_array($qr)) {

  $tolist[] = $row['monkey'];                        //fill in monkeys agian

}                                                     

 

$subject = "Hello";

$body = "Enjoy";

$headers = "From: everyone@hotmail.com\r\n" .

    "X-Mailer: php";

 

 

foreach ($tolist as $currentemail) { // loop to cycle through email addresses one at a time

  if (mail($currentemail, $subject, $body, $headers)) {

      echo("<p>Message sent!</p>");

  } else {

      echo("<p>Message delivery failed...</p>");

  }

} // end foreach

?>

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.