Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] mail na wiele adresów
Forum PHP.pl > Forum > Przedszkole
simplescript
Krótkie pytanie: jak za pomocą funkcji mail() wysłać mail na kilka adresów?
Dzięki za pomoc.
crafter
mail('to@poczta.pl','temat','message');
mail('to2.poczta.pl','dfas','asdf');
itd:)
albo funkcję stworzyć
albo skorzystać z phpmailera:)
Glarden
No właśnie, ja też mam taki problem. Wysyłam sobie maile za pomocą PHPMailer, oto kod:
  1. <?php
  2. if (isset ($_POST['list'])) {
  3. $list = $_POST['list'];
  4. $maile = array();
  5. $link = mysql_connect ("localhost", "root", "haslo");
  6. mysql_select_db ("sokoly");
  7. $query = "select * from zarejestrowani;";
  8. $result = mysql_query ($query, $link);
  9. while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) {
  10. $email = $row['email'];
  11. array_push ($maile, $email);
  12. }
  13. foreach ($maile as $mails) {
  14. require("phpmailer/class.phpmailer.php");
  15. $mail = new PHPMailer();
  16.  
  17. $mail->PluginDir = "phpmailer/";
  18. $mail->From = "glard@op.pl";
  19. $mail->FromName = "Tomek H.";
  20. $mail->Host = "smtp.poczta.onet.pl";
  21. $mail->Mailer = "smtp";
  22. $mail->Username = "glard@op.pl";
  23. $mail->Password = "haslo";
  24. $mail->SMTPAuth = true;
  25. $mail->SetLanguage("pl", "phpmailer/language/");
  26. $mail->CharSet = 'windows-1250';
  27.  
  28. $mail->Subject = "List ze strony Sokołów";
  29. $mail->Body = $list;
  30. $mail->AddAddress($mails, $mails);
  31.  
  32. if($mail->Send())
  33. {
  34. echo 'E-mail został wysłany';
  35. }
  36. else
  37. {
  38. echo 'E-mail nie mógł zostać wysłany, przyczyna: '. $mail->ErrorInfo;
  39. }
  40.  
  41. $mail->ClearAddresses();
  42. $mail->ClearAttachments();
  43. }
  44. }
  45. ?>

Formularz wyciąłem.
No i teraz taki mam problem: chociaż każę mu wysyłać maile do wszystkich indeksów w tablicy, on wysyła tylko do pierwszego. Co nie działa?
Cienki1980
Bo po wysłaniu i wyświetleniu komunikatu masz exit;
Glarden
Usunąłem exity i efekt jest taki sam, jak poprzednio.
mild
W funkcji mail mozna podac odbiorcow jako ciag oddzielonych od siebie adresow. Najprosciej bedzie uzyc tablicy i funkcji implode.
Glarden
Tylko że ja nie wykorzystuję tej funkcji a klasy PHPMailer.
mild
Tamta odpowiedz nie bylo do Ciebie.
U Ciebie bym zmienil to
Kod
while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) {
$email = $row['email'];
array_push ($maile, $email);
}

Na
Kod
$rows = mysql_fetch_assoc($result);
$maile = $rows['email'];
Glarden
Przecież to nie zrobi żadnej różnicy. Jedno i drugie zwraca tablicę, z tym, że mój sposób robi to samo z każdym jej elementem, a o to mi chodzi.
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.