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

Posty w temacie


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

 



RSS Aktualny czas: 21.08.2025 - 20:22