Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> sender e-mail
vojtasek
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 6.07.2009

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


Witam mam taki mały skrypt do wysyłania poczty e-mail na konta, które przed wysłaniem zaczytywane są do formularza z bazy danych.

  1. <?php
  2. include ("db.php");
  3. //Poberz adresy E-mail z bazy
  4. $sqlquery = "select * from person where email is not NULL";
  5. $result = mysql_query($sqlquery);
  6. $numrows = mysql_num_rows($result);
  7.  
  8. for($x=0; $x<$numrows; $x++){
  9. $result_row = mysql_fetch_row($result);
  10. $oneemail = $result_row[8];
  11. $emaillist .= $oneemail."\n";
  12. }
  13.  
  14. if ($action=="send"){ $message = urlencode($message);
  15. $message = ereg_replace("%5C%22", "%22", $message);
  16. $message = urldecode($message);
  17. $message = stripslashes($message);
  18. $subject = stripslashes($subject);
  19. }
  20. ?>


następnie jest kod HTML wyświetlanego formularza.


wszystko jest ładnie do momentu wysłania.

Wysyłam za pomocą takiego kodu:

  1. <?php
  2. if ($action=="send"){
  3. if (!$from && !$subject && !$message && !$emaillist){
  4. echo"</br><center><font color='red'><b>Proszę uzupełnić wszystkie wymagane pola !!!</b></font></center>";
  5. exit;
  6. }
  7. $allemails = split("\n", $emaillist);
  8. $numemails = count($allemails);
  9. If ($file_name){
  10. if (!file_exists($file)){
  11. die("Plik nie może być skopiowany na serwer");
  12. }
  13. $content = fread(fopen($file,"r"),filesize($file));
  14. $content = chunk_split(base64_encode($content));
  15. $uid = strtoupper(md5(uniqid(time())));
  16. $name = basename($file);
  17. }
  18.  
  19. for($xx=0; $xx<$amount; $xx++){
  20. for($x=0; $x<$numemails; $x++){
  21. $to = $allemails[$x];
  22. if ($to){
  23. $to = ereg_replace(" ", "", $to);
  24. $message = ereg_replace("&email&", $to, $message);
  25. $subject = ereg_replace("&email&", $to, $subject);
  26. print "Wysyła e-mail do $to.......";
  27. flush();
  28. $header = "From: $realname <$from>\r\nReply-To: $replyto\r\n";
  29. $header .= "MIME-Version: 1.0\r\n";
  30. $header .= "Content-type: text/html; charset=UTF-8\r\n";
  31. If ($file_name) $header .= "Content-Type: multipart/mixed; boundary=$uid\r\n";
  32. If ($file_name) $header .= "--$uid\r\n";
  33. $header .= "Content-Type: text/$contenttype\r\n";
  34. $header .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
  35. $header .= "$message\r\n";
  36. If ($file_name) $header .= "--$uid\r\n";
  37. If ($file_name) $header .= "Content-Type: $file_type; name=\"$file_name\"\r\n";
  38. If ($file_name) $header .= "Content-Transfer-Encoding: base64\r\n";
  39. If ($file_name) $header .= "Content-Disposition: attachment; filename=\"$file_name\"\r\n\r\n";
  40. If ($file_name) $header .= "$content\r\n";
  41. If ($file_name) $header .= "--$uid--";
  42. mail($to, $subject, "", $header);
  43. print "ok<br>";
  44. flush();
  45. }
  46. }
  47. }
  48. }
  49. ?>



Dlaczego po zatwierdzeniu wysyłania wysyła mi podwójnie do na każdy mail z bazy?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Uriziel01
post
Post #2





Grupa: Zarejestrowani
Postów: 307
Pomógł: 37
Dołączył: 9.11.2010
Skąd: Zielona Góra

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


Log możesz zapisać do bazy danych lub do pliku. Nie widze tutaj formularza który chcesz rzekomo wyczyścić ale zrobisz to przez JS jeżeli masz na mysliczyszczenie dynamiczne. Nie widząc całego kodu ciężko powiedzieć.

Ten post edytował Uriziel01 20.12.2011, 11:15:43
Go to the top of the page
+Quote Post

Posty w temacie


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: 10.10.2025 - 21:45