Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL][PHP]Masowe wysłanie maili.
PatroL14
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 2.08.2012

Ostrzeżenie: (0%)
-----


Witam !

Na samym początku zaznaczam, że dopiero 2 dni temu zaczełem się uczyć PHP, więc proszę o wyrozumiałość i wytłumaczenie po "chłopsku".
Napisałem prosty skrypt do wysłania maili ale do jednej osoby i chciałbym teraz to przerobić tak aby pobierało maile z bazy danych i wysyłało tam maila.
Wszystkie maile są w
  1. SELECT `email` FROM `Klienci`


Kod :

  1. <?php
  2. if(empty($_POST['wyslij_mail']))
  3. {
  4. echo '<center>';
  5. echo '<form method="post" action="mailingtest.php">';
  6. echo '<table>';
  7. echo'<tr>';
  8. echo '<td>Adres e-mail nadawcy :</td> <td><input type="text" name="email" /></td>';
  9. echo'</tr>';
  10. echo'<tr>';
  11. echo '<td>Temat wiadomości :</td> <td><input type="text" name="temat" /></td>';
  12. echo'</tr>';
  13. echo'<tr>';
  14. echo '<td>Treść wiadomości :</td> <td><textarea name="tresc"></textarea></td>';
  15. echo'</tr>';
  16. echo '</table>';
  17. echo '<input type="hidden" name="wyslij_mail" value="tak" />';
  18. echo '<input type="submit" value="Wyślij" />';
  19. echo '</form>';
  20. echo '</center>';
  21. }
  22. else
  23. {
  24. if(empty($_POST['email']) OR empty($_POST['temat']) OR empty($_POST['tresc']))
  25. {
  26. echo '<center><font color="red">Nie zostały wypełnione wszystkie pola. Kliknij przycisk wstecz w przeglądarce i podaj dane.</font></center>';
  27. }
  28. else
  29. {
  30. $odbiorca = 'tutaj mail odbiorcy';
  31. $naglowki = "From: ".$_POST['email']."\r\n";
  32. $naglowki .= "Content-type: text/html; charset=utf-8\r\n";
  33. $temat = $_POST['temat'];
  34. $tresc = $_POST['tresc'];
  35. }
  36. if(@mail($odbiorca, $temat, $tresc, $naglowki))
  37. {
  38. echo '<center><font color="green">Twój email został pomyślnie wysłany.</font></center>';
  39. }
  40. }
  41. ?>


Ten post edytował PatroL14 2.08.2012, 18:56:32
Go to the top of the page
+Quote Post
artekp999
post
Post #2





Grupa: Zarejestrowani
Postów: 118
Pomógł: 2
Dołączył: 25.02.2011

Ostrzeżenie: (0%)
-----


Musisz zastosować pętle
Tutaj masz prosty przykład
  1. $query = mysql_query ("select * from Klienci");
  2. while ($rekord = mysql_fetch_array($query)) {
  3. mail("$rekord[email]","$temat","$tresc","$naglowki");
  4. }


Ale aby poprawnie masowo wysyłać maile musisz przestrzegać kilku zasad
1. Wysyłam maile paczkami(np.50) co kilka minut
2. W bazie oznaczaj emaile do których zostały już wysłane a do których nie(dzięki temu będziesz mógł zrobić warunek(patrz kod wyżej))

Całego kodu ci nie podam, bo się nie nauczysz (IMG:style_emoticons/default/biggrin.gif)
Miłej zabawy (IMG:style_emoticons/default/biggrin.gif)

Ten post edytował artekp999 2.08.2012, 21:20:56
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 13:25