Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP i MySQL] funkcja mail(), problem z pobieraniem listy e-maili i wysylniem...
terabit
post 5.08.2007, 10:53:40
Post #1





Grupa: Zarejestrowani
Postów: 170
Pomógł: 4
Dołączył: 11.08.2006

Ostrzeżenie: (10%)
X----


Witam, mam taki kod:
  1. <?php
  2. include("config.php");
  3. $sql = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
  4. mysql_select_db(DB_NAME);
  5. $res = mysql_query("SELECT email FROM baza ORDER BY id");
  6. while ($row = mysql_fetch_array($res)) 
  7. { 
  8. $row['email'];
  9. }
  10.  
  11.  
  12. $listaemaili = $row['email'];
  13. $email = $_POST['trescemailu'];
  14. $header =  "From: email@serwis.pl nContent-Type:".' text/plain;charset="iso-8859-2"'."nContent-Transfer-Encoding: 8bit";
  15. if (mail($listaemaili, 'email', $email, $header))
  16. echo '<p>działa</p>';
  17. else 
  18. echo '<p>NIE wysłano maila!</p>';
  19.  
  20. ?>


problem w tym że nie chce mi wysyłać e-maili :/
jak wpisze w miejsce $listaemaili normalnie kilka e-maili po przecinku to nie ma problemu ale jak ma je pobrać z zmiennej $listaemiali to nie chce :/

w bazie wszystkie e-mailie maja taką formę - nazwa@domena.com,[przecinek] [spacja]
a wiec nie powinno być problemów

Bardzo proszę o pomoc

Ten post edytował terabit 5.08.2007, 10:55:35


--------------------
Go to the top of the page
+Quote Post
kossa
post 5.08.2007, 12:45:48
Post #2





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


  1. <?php
  2. $listaemaili="";
  3.  
  4. $res = mysql_query("SELECT email FROM baza ORDER BY id");
  5. while ($row = mysql_fetch_array($res)) 
  6. { 
  7. $listaemaili. = $row['email']; 
  8. }
  9. ?>



a dlaczego trzymasz email z przecinkiem w bazie i spacja? smile.gif przeciez takie elementy dodaje sie przy wyciaganiu danych zbazy kiedy je sie formatuje, modyfikuje...

Łukasz


--------------------
Go to the top of the page
+Quote Post
terabit
post 5.08.2007, 12:52:08
Post #3





Grupa: Zarejestrowani
Postów: 170
Pomógł: 4
Dołączył: 11.08.2006

Ostrzeżenie: (10%)
X----


no ok wiem ze sie tam nie powinno
ale nawet tak jak jest teraz nie chce działać :/

Ten post edytował terabit 5.08.2007, 13:01:43


--------------------
Go to the top of the page
+Quote Post
kossa
post 5.08.2007, 13:10:07
Post #4





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


napisalem Tobie jak masz pobrac meile, bo zle to robiles
wstaw moj kod w miejsce swojej petli while a z pod petli usun $listaemaili = $row['email'];

zawsze mozesz sprawdzi co zwraca zmiennna poprzez echo $listameili;

Łukasz


--------------------
Go to the top of the page
+Quote Post
terabit
post 5.08.2007, 15:04:27
Post #5





Grupa: Zarejestrowani
Postów: 170
Pomógł: 4
Dołączył: 11.08.2006

Ostrzeżenie: (10%)
X----


:/ nie działa
pewnie coś źle robie

kod:
  1. <?php
  2. include("config.php");
  3. $sql = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
  4. mysql_select_db(DB_NAME);
  5.  
  6. $listaemaili="";
  7.  
  8. $res = mysql_query("SELECT email FROM baza ORDER BY id");
  9. while ($row = mysql_fetch_array($res)) 
  10. { 
  11. $listaemaili. = $row['email']; 
  12. }
  13.  
  14.  
  15. $email = $_POST['trescemailu'];
  16. $header =  "From: email@serwis.pl nContent-Type:".' text/plain;charset="iso-8859-2"'."nContent-Transfer-Encoding: 8bit";
  17. if (mail($listaemaili, 'email', $email, $header))
  18. echo '<p>działa</p>';
  19. else 
  20. echo '<p>NIE wysłano maila!</p>';
  21.  
  22. ?>


Ten post edytował terabit 5.08.2007, 15:07:27


--------------------
Go to the top of the page
+Quote Post
kossa
post 5.08.2007, 17:11:02
Post #6





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


przed $email = $_POST['trescemailu'];

zrób sobie echo $listaemaili; i zobacz czy meile masz w zmiennej i w jakiej formie

Łukasz


--------------------
Go to the top of the page
+Quote Post
terabit
post 5.08.2007, 17:40:02
Post #7





Grupa: Zarejestrowani
Postów: 170
Pomógł: 4
Dołączył: 11.08.2006

Ostrzeżenie: (10%)
X----


teraz mam tai kod
i wysyla tylko na ostatni e-mail :/

  1. <?php
  2. include("config.php");
  3. $sql = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
  4. mysql_select_db(DB_NAME);
  5.  
  6. $res = mysql_query("SELECT email FROM bazaORDER BY id");
  7. while ($row = mysql_fetch_array($res)) 
  8. { 
  9. $listaemaili = $row['email']; 
  10. }
  11.  
  12. echo $listaemaili;
  13. $email = $_POST['trescemailu'];
  14. $header =  "From: email@serwis.pl nContent-Type:".' text/plain;charset="iso-8859-2"'."nContent-Transfer-Encoding: 8bit";
  15. if (mail($listaemaili, 'email', $email, $header))
  16. echo '<p>działa</p>';
  17. else 
  18. echo '<p>NIE wysłano maila!</p>';
  19.  
  20. ?>



echo $listaemaili; tez wyświetla tylko ostatni e-mail (ostatni rekord) winksmiley.jpg

Ten post edytował terabit 5.08.2007, 17:41:25


--------------------
Go to the top of the page
+Quote Post
kossa
post 5.08.2007, 17:51:28
Post #8





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


podałem Tobie z kropką .= i wcześniej też poprawnie wkleiłeś kod a teraz masz bez kropki, w pętli ma być
  1. <?php
  2. $listaemaili .= $row['email'];
  3. ?>


Łukasz

Ten post edytował kossa 5.08.2007, 17:51:42


--------------------
Go to the top of the page
+Quote Post
terabit
post 5.08.2007, 18:02:02
Post #9





Grupa: Zarejestrowani
Postów: 170
Pomógł: 4
Dołączył: 11.08.2006

Ostrzeżenie: (10%)
X----


ooo smile.gif sorry biggrin.gif już działa

kossa wielkie dzięki ! smile.gif


--------------------
Go to the top of the page
+Quote Post
kossa
post 5.08.2007, 18:20:50
Post #10





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


Tak na koniec to rozwiązanie które implementuesz ma wadę taką żę po otrzymaniu meila każdy będzie widział do kogo ten email został wysłany... nie każdy chciałby aby wszyscy korzystający z Twojego serwisu WWW znali jego adres. Lepiej by było abyś w pętli do każdego usera wysyłał meila indywidualnie podczas wyciągania adresów z tabeli w bazie (wtedy bez tej kropki i od razu przed } wykonujesz funkcję mail, oczywiście przed pętlą while musisz zadeklarować temat, treść meila. Pamiętać też musisz że jeśli będzie ogromna ilość meil w bazie to może wystąpić time out (przekroczony czas wykonywania skryptu) albo inny problem - meile mogą być traktowane jako spam. Jak z tym wszystkim walczyć to poszukaj tematu na forum (szukaj: mail) miał kikadziesiąt postów więc znajdziesz tam na pewno jakieś dobre rozwiązanie.

Łukasz


--------------------
Go to the top of the page
+Quote Post
terabit
post 5.08.2007, 18:35:30
Post #11





Grupa: Zarejestrowani
Postów: 170
Pomógł: 4
Dołączył: 11.08.2006

Ostrzeżenie: (10%)
X----


właśnie tak przeglądając otrzymane e-maile ( z mojego skryptu ) pomyślałem ;]

dzięki za pomoc winksmiley.jpg


--------------------
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 Wersja Lo-Fi Aktualny czas: 5.07.2025 - 19:19