Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wysłanie do wielu odbiorców
Forum PHP.pl > Forum > Przedszkole
thome
Witam,
w poniższym kodzie po wyborze jednego odbiorcy wiadomość zostaje wysłana bez problemu. Lecz gdy zaznaczę więcej niż jednego odbiorcę wywala błąd

Invalid address: xxx@gmail.comyyy@gmail.comYou must provide at least one recipient email address. There was an error sending the message:You must provide at least one recipient email address.

Próbowałem pętli foreach na tej linii:
  1. $wiad->AddAddress ($mail);


i cały kod:
  1. <?php include ('conf.php'); ?>
  2. <?php
  3. if(isset($_GET["sortuj"]))
  4. $sortuj = $_GET["sortuj"];
  5. else
  6. $sortuj = "id_klient";
  7.  
  8. // wygeneruj tabelę ze wszystkimi produktami
  9.  
  10. $zapytanie = "SELECT * FROM klient ORDER BY $sortuj ";
  11. //$zapytanie = "SELECT * FROM produkty ORDER BY nazwa" ;
  12. $klient = mysql_query($zapytanie) or die ('Błąd: '. mysql_error());
  13.  
  14.  
  15.  
  16. ?>
  17. <hr />
  18. <table method='get'>
  19. <tr><th></th><th>
  20. ID
  21. </th><th>
  22. <a href="<?php echo $_SERVER['PHP_SELF'];?>?sortuj=imie">Imię</a>
  23. </th><th>
  24. <a href="<?php echo $_SERVER['PHP_SELF'];?>?sortuj=nazwisko">Nazwisko</a>
  25. </th><th>
  26. <a href="<?php echo $_SERVER['PHP_SELF'];?>?sortuj=telefon">Telefon</a></th><th><a href="<?php echo $_SERVER['PHP_SELF'];?>?sortuj=mail">Mail</a> </th>
  27. <th>
  28. <a href="<?php echo $_SERVER['PHP_SELF'];?>?sortuj=miasto">Miasto</a></th><th><a href="<?php echo $_SERVER['PHP_SELF'];?>?sortuj=ulica">Ulica</a> </th>
  29. <th>
  30. <a href="<?php echo $_SERVER['PHP_SELF'];?>?sortuj=kodpocztowy">Kod Pocztowy</a></th></tr>
  31. <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
  32. <?php
  33. while ($rekord = mysql_fetch_assoc($klient)) {
  34. ?>
  35. <tr>
  36. <td><input type="checkbox" name="id[]" value="<?php echo $rekord['id_klient']; ?>" /></td>
  37. <td><?php echo $rekord['id_klient']; ?></td>
  38. <td><?php echo $rekord['imie'];?></td>
  39. <td><?php echo $rekord['nazwisko'];?></td>
  40. <td><?php echo $rekord['telefon']; ?></td>
  41. <td><?php echo $rekord['mail']?></td>
  42. <td><?php echo $rekord['miasto'];?></td>
  43. <td><?php echo $rekord['ulica']; ?></td>
  44. <td><?php echo $rekord['kodpocztowy']; ?></td>
  45.  
  46. </td>
  47. </tr>
  48.  
  49. <?php
  50. }
  51. ?>
  52. <?php
  53. if(isset($_POST['klik'])) {
  54. if(isset($_POST['id'])){
  55.  
  56. $mail='';
  57. $nazwisko='';
  58. $imie='';
  59. foreach($_POST['id'] as $idi){
  60. $sql="SELECT imie,nazwisko,mail FROM klient WHERE id_klient=".$idi;
  61. $res=mysql_query($sql);
  62. $dane_klienta=mysql_fetch_array($res);
  63.  
  64. $imie=$imie.''.$dane_klienta[0];
  65. $nazwisko=$nazwisko.''.$dane_klienta[1];
  66. $mail=$mail.''.$dane_klienta[2];
  67. }
  68.  
  69. require_once($_SERVER['DOCUMENT_ROOT'].'/lib/phpmailer/class.phpmailer.php');
  70. require_once($_SERVER['DOCUMENT_ROOT'].'/lib/phpmailer/class.smtp.php');
  71.  
  72.  
  73.  
  74. $wiad = new PHPMailer(); // Instantiate your new class
  75. $wiad->IsSMTP(); // set mailer to use SMTP
  76. $wiad->SMTPAuth = true; // turn on SMTP authentication
  77. $wiad->Host = "smtp.gmail.com"; // specify main and backup server
  78. $wiad->SMTPSecure= 'ssl'; // Used instead of TLS when only POP mail is selected
  79. $wiad->Port = 465; // Used instead of 587 when only POP mail is selected
  80.  
  81. $wiad->Username = "aaa@gmail.com";
  82. $wiad->Password = "bbb";
  83.  
  84. $wiad->From = "aaa@gmail.com"; //Aparently must be the same as the UserName
  85. $wiad->FromName = "aaa";
  86.  
  87. $wiad->CharSet = "UTF-8";
  88.  
  89. $wiad->AddAddress ($mail);
  90.  
  91. $wiad->Body = "Wiadomosc";
  92. $wiad->AltBody = "Wiadomosc txt";
  93. $wiad->Subject = "Temat wiadomosci";
  94.  
  95. if(!$wiad->Send())
  96. {
  97. echo "There was an error sending the message:" . $wiad->ErrorInfo;
  98.  
  99. }
  100. else {
  101. echo "Wysłano";}
  102.  
  103. }else{echo 'Wybierz odbiorców';
  104.  
  105. }}
  106. ?>
  107.  
  108. </table>
  109.  
  110. <input type="submit" name="klik" value="Wyslij">
  111. <hr /><br/></form>
d3ut3r
Metodę AddAdress wywołuj dla każdego adresu oddzielnie. Czyli przed pętlą foreach zainicjuj klasę stwórz body itd, a w foreach w miejscu gdzie masz już dostępny adres e-mail wywołuj ww. metodę.

thome
A może jakiś prostszy sposób?
d3ut3r
a co w tym co napisałem jest trudnego ? smile.gif 10 minut pracy prościej się nie da.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.