Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]wysyłka maila do odbiorców co kilka sekund
alin
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 10.11.2010

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


Witam, drodzy użytkownicy.
Mam problem, posiadam drobny system do wysyłki newslettera, niestety wysyła on mail hurtowo, choć serwer nie posiada żadnych limitów na wysyłkę funkcją ()mail, to wysyłka do aktualnej liczby subskrynentów [13,700] + jakaś setka dziennie przybywa. Chciałem aby system wysyłał newsletter co 1sek. Przykładowo wysyłka do 100 osób trwała by 100sek. Obecnie jest to 1, góra 2 sekundy.

W jaki sposób można to rozwiązać? Poniżej zamieszczam plik "sender.php"

  1. <?
  2. $_SESSION[senderkey] = "$idwys";
  3.  
  4. include("mailer_conf.php");
  5. $queryN="SELECT * FROM lista WHERE status = '1'";
  6. $resultN = MYSQL_QUERY($queryN);
  7. $znalN = mysql_num_rows($resultN);
  8.  
  9. if($znalN == 0) { echo "<center><BR><h5>Brak adresów e-mail w bazie! Nie można wykonać wysyłki.</h5>"; } else {
  10.  
  11. $resultW = mysql_query("select * from wiadomosci WHERE id = '$_GET[ids]'");
  12. $get_userinfo=@mysql_fetch_array($resultW);
  13. $id=$get_userinfo[id];
  14. $temat=$get_userinfo[nazwa];
  15. $datau=$get_userinfo[data_u];
  16. $type=$get_userinfo[typ];
  17.  
  18. function generuj_idwysylki()
  19. {
  20. global $idwys;
  21. $ile_zn = 9;
  22. $zn = 'qwertyuiopasdfghjklzxcvbnm1234567890';
  23. srand((double)microtime()*1000000);
  24. $iswys = '';
  25. for ($i=0;$i<$ile_zn;$i++)
  26. { $idwys .= substr($zn,(rand()%(strlen($zn))),1); };
  27. };
  28. generuj_idwysylki();
  29.  
  30. $_SESSION[senderkey] = "$idwys$type";
  31. ?>
  32.  
  33. <div align="center">
  34. <table border="0" width="580" cellpadding="0" cellspacing="0">
  35. <tr>
  36. <td valign="middle"><h4>Przygotowanie wiadomości do wysyłki:</h4></td>
  37. </tr>
  38. </table>
  39.  
  40. <table border="1" cellpadding="1" cellspacing="1">
  41. <tr>
  42. <td valign="middle"><center>Id wysyłki</td> <td valign="middle"><center>temat</td> <td valign="middle"><center>typ wysyłki</td> <td valign="middle"><center>ilość e-mail-i</td> <td valign="middle"><center>data utworzenia</td>
  43. </tr>
  44.  
  45. <tr>
  46. <td valign="middle"><center><? echo $idwys; ?></td> <td valign="middle"><? echo $temat; ?></td> <td valign="middle"><center><? echo $type; ?></td> <td valign="middle"><center><? echo $znalN; ?></td> <td valign="middle"><center><? echo $datau; ?></td>
  47. </tr>
  48. </table>
  49. <? if($type == html) { $types = "?sec=sender_html"; } if($type == txt) { $types = "?sec=sender_txt"; } ?>
  50.  
  51. <table border="0" width="580" cellpadding="0" cellspacing="0">
  52. <tr>
  53. <td valign="middle"><center>
  54. <form action="<? echo $types; ?>" method="POST">
  55. <input type="HIDDEN" name="id" value="<? echo $_GET[ids]; ?>">
  56. <input type="HIDDEN" name="kod" value="<? echo "$idwys$type"; ?>">
  57. <input type="HIDDEN" name="typ" value="<? echo $_GET[type]; ?>">
  58. Czy wysłać kopię newslettera na adres e-mail administracji? :<input type="checkbox" name="copy4admin" value="cyes"><br>
  59. <input type="SUBMIT" value="Wyślij wiadomość"> ((<b><A HREF="java script:displayWindow('showN.php?idN=<? echo $id; ?>&type=<? echo $type; ?>',800,600)">podgląd</a></b>))
  60. </form></center>
  61. <BR>
  62. <font style="font-size:11px;">
  63. UWAGA! Wysyłanie wiadomość może trwać od kilku sekund do kilku minut, w
  64. zależności od ilości e-maili w bazie oraz ciężaru przesyłki.
  65. Ponad to, w każdym e-mailu znajduje się link służący do wypisania się z
  66. subskrypcji.
  67. </font><br>
  68. </td>


Ten post edytował alin 10.11.2010, 14:54:59
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
tr@k
post
Post #2





Grupa: Zarejestrowani
Postów: 41
Pomógł: 8
Dołączył: 13.09.2010

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


1-2 sekundy to trwa wstawienie wszystkiego do kolejki sendmaila. Poza tym nie widzę, gdzie wysyłasz wiadomość.


--------------------
Web usability
Program Partnerski
Go to the top of the page
+Quote Post
acense
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 4.09.2010

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


A sleep ?
Go to the top of the page
+Quote Post

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 - 11:38