Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z phpmailerem
Forum PHP.pl > Forum > PHP
john_doe
Witajcie,

wysyłam maila za pomocą clasy phpmailer w taki oto sposób

  1. <?
  2.  
  3. include("phpmailer/class.phpmailer.php");
  4.  
  5. $list = new phpmailer();
  6.  
  7. $list->From = "kcwiklak@malfarb.pl"; // nadawca
  8. $list->FromName = "Malfarb Sp z o.o."; // nadawca
  9.  
  10.  
  11. $list->Subject = "MALFARB - Polski Producent Farb i Lakierów";
  12. $list->WordWrap = 75;
  13. $list->CharSet = "utf-8";
  14.  
  15. $list->IsHTML(true); // włączam pokazywanie treści, jako kod HTML
  16.  
  17. $list->AddEmbeddedImage("pics/upper_belt.jpg", "obrazek1"); // dodaj obrazek
  18. $list->AddEmbeddedImage("pics/bottom.jpg", "obrazek2"); // dodaj oobrazek
  19.  
  20. @MYSQL_CONNECT("localhost","malfarb","angielskina6");
  21. @mysql_select_db("malfarb");
  22. $query = "SELECT mail FROM mailing ";
  23. $result = @MYSQL_QUERY($query);
  24. while ($row = MYSQL_FETCH_ARRAY($result, MYSQL_ASSOC))
  25. {
  26.  
  27. $list->AddAddress( $row['mail'] ); // odbiorca
  28.  
  29.  
  30. $list->Body = "
  31. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  32. <html>
  33. <head>
  34. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  35. </head>
  36. <body bgcolor="#E0E7EE" style="color: #737373" >
  37.  
  38. <center>
  39.  <table border="0" width="600px" cellspacing="0" cellpadding="0">
  40. <tr>
  41. <td><img src="cid:obrazek1"></td>
  42. </tr>
  43. <tr>
  44. <td background="cid:obrazek2" height="650px" valign="top">
  45. <br /><br /><br />
  46. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam feugiat, turpis at pulvinar vulputate, erat libero tristique tellus, nec bibendum odio risus sit amet ante. Aliquam erat volutpat. Nunc auctor. Mauris pretium quam et urna.
  47. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam feugiat, turpis at pulvinar vulputate, erat libero tristique tellus, nec bibendum odio risus sit amet ante. Aliquam erat volutpat. Nunc auctor. Mauris pretium quam et urna.
  48. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam feugiat, turpis at pulvinar vulputate, erat libero tristique tellus, nec bibendum odio risus sit amet ante. Aliquam erat volutpat. Nunc auctor. Mauris pretium quam et urna.
  49. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam feugiat, turpis at pulvinar vulputate, erat libero tristique tellus, nec bibendum odio risus sit amet ante. Aliquam erat volutpat. Nunc auctor. Mauris pretium quam et urna.
  50. </td>
  51. </tr>
  52.  </table>
  53. </center> 
  54.  
  55. </body></html>
  56. ";
  57. if ( $list->Send() )
  58. {
  59. print 'Wysłanie mailingu do: <b><i>' . $row['mail'] . '</i></b><font style="color: green; font-weight: bold"> [  OK  ] </font><br />';
  60. }else print 'Wysłanie mailingu do: <b><i>' . $row['mail'] . '</i></b> <font style="color: red; font-weight: bold"> [  FAILED  ] </font><br />';
  61. }
  62.  
  63. ?>


nie wiem dlaczego i co mam źle, ale ten skrypt nie wysyła mi jednej wiadomosci do kazdego adresu z bazy tylko np do 1szego tyle ile jest wpisow w bazie
robi to generalnie tak: do 1szego adresu z bazy wysyla tyle wiadomości ile jest wpisów w bazie, do drugiego adresu tyle ile wpisów w bazie - 1 itd....
questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif?

pozdrawiam
Cezar708
przed
  1. <?php
  2. $list->AddAddress( $row['mail'] ); // odbiorca
  3. ?>


dodaj

  1. <?php
  2. $list->ClearAddresses();
  3. $list->AddAddress( $row['mail'] ); // odbiorca
  4. ?>


bo dodajesz nowe (add) a stare też pamięta. ClearAddresses je wykasowywuje, dzięki czemu wyślesz pojedyncze maile do wszystkich.
john_doe
dzieki bardzo .... śmiga aż miło.

mam jeszcze takie pytanko. czy jezeli w bazie bede mial np 1000 adresów taki skrypt da radę?
Cezar708
w większości przypadków odpowiedź brzmi TAK, ale jest to uwarunkowane też środowiskiem w którym skrypt jest wykonywany.

Pozatym ja wysłałbym to jako jeden mail a adresy dopisywał poprzez:

  1. <?php
  2. $list->addBCC('adres@asdf.pl', 'Opis');
  3. ?>


myślę, że to bezpieczniejsze, bo po wysłaniu reszta należy do serwera SMTP. Ale to tylko moja sugestia. cool.gif
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.