Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pętla while problem
egonik
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 1.02.2012

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


Witam

Mam pewien problem, a mianowicie chce wysyłać pocztę przez PHPmailer i o ile pojedynczy adres idzie to z pliku po pętli nic a nic
poniżej ta nieszczęsna pętla

  1. $tablica=file("baza.txt");
  2. $j=0;
  3. while ($j < 1000){
  4. $adresik=$tablica[$j];
  5. $mail->AddAddress($adresik);
  6. if($mail->Send())
  7. echo "E-mail do "$tablica[$j]" został wysłany <br>";
  8. else
  9. echo "E-mail do "$tablica[$j]" nie mógł zostać wysłany, przyczyna :".$mail->ErrorInfo."<br>";
  10.  
  11. $j++;
  12. }


O co może chodzić, wczytywanie pliku działa bez niczego, nie mam juz pojęcia co może być
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kofel
post
Post #2





Grupa: Zarejestrowani
Postów: 99
Pomógł: 22
Dołączył: 14.12.2007
Skąd: Wyszków

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


Zauważ, że co skok pętli dodajesz nowy adres do tej samej instancji $mail.

PS. W ogóle co to za konstrukcja:
($j < 1000)
Jesteś pewien, że tych adresów ZAWSZE będzie 1000?

Przykład jak to powinno wyglądać:
  1. $tablica = file("baza.txt");
  2.  
  3. foreach( $tablica as $adresik )
  4. {
  5. $mail = new ... //Tutaj powinieneś sobie tworzyć nową instancję wiadomości.
  6. $mail->AddAddress( $adresik );
  7.  
  8. if( $mail->Send() )
  9. echo "E-mail do "$adresik" został wysłany <br>";
  10. else
  11. echo "E-mail do "$adresik" nie mógł zostać wysłany, przyczyna :".$mail->ErrorInfo."<br>";
  12. }


Albo:
  1. $tablica = file("baza.txt");
  2.  
  3. foreach( $tablica as $adresik )
  4. {
  5. $mail->AddAddress( $adresik );
  6. }
  7.  
  8. if( $mail->Send() )
  9. echo "E-mail został wysłany <br>";
  10. else
  11. echo "E-mail nie mógł zostać wysłany, przyczyna :".$mail->ErrorInfo."<br>";


Ten post edytował Kofel 21.12.2012, 23:56:12
Go to the top of the page
+Quote Post
szok
post
Post #3





Grupa: Zarejestrowani
Postów: 165
Pomógł: 20
Dołączył: 2.03.2006

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


Cytat(Kofel @ 21.12.2012, 23:52:27 ) *
Zauważ, że co skok pętli dodajesz nowy adres do tej samej instancji $mail.

PS. W ogóle co to za konstrukcja:
($j < 1000)
Jesteś pewien, że tych adresów ZAWSZE będzie 1000?

Przykład jak to powinno wyglądać:
  1. $tablica = file("baza.txt");
  2.  
  3. foreach( $tablica as $adresik )
  4. {
  5. $mail = new ... //Tutaj powinieneś sobie tworzyć nową instancję wiadomości.
  6. $mail->AddAddress( $adresik );
  7.  
  8. if( $mail->Send() )
  9. echo "E-mail do "$adresik" został wysłany <br>";
  10. else
  11. echo "E-mail do "$adresik" nie mógł zostać wysłany, przyczyna :".$mail->ErrorInfo."<br>";
  12. }


Albo:
  1. $tablica = file("baza.txt");
  2.  
  3. foreach( $tablica as $adresik )
  4. {
  5. $mail->AddAddress( $adresik );
  6. }
  7.  
  8. if( $mail->Send() )
  9. echo "E-mail został wysłany <br>";
  10. else
  11. echo "E-mail nie mógł zostać wysłany, przyczyna :".$mail->ErrorInfo."<br>";


Nie koniecznie musi tworzyć nowy obiekt, zalezy z jakiego mailer krozysta, np w CI jak jest funkcja, to tworzysz jeden obiekt, i potem dodajesz adres, send i po kłopocie.
Tak za każdym razem.
Go to the top of the page
+Quote Post
Kofel
post
Post #4





Grupa: Zarejestrowani
Postów: 99
Pomógł: 22
Dołączył: 14.12.2007
Skąd: Wyszków

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


Cytat(szok @ 22.12.2012, 13:23:42 ) *
Nie koniecznie musi tworzyć nowy obiekt, zalezy z jakiego mailer krozysta, np w CI jak jest funkcja, to tworzysz jeden obiekt, i potem dodajesz adres, send i po kłopocie.
Tak za każdym razem.


"Dodajesz" czy "ustalasz"? (IMG:style_emoticons/default/smile.gif) No właśnie ten problem, że nazwa metody "AddAddress" daje mi do myślenia, że wlaśnie jest "dodawanie". Więc co skok pętli mamy coraz więcej adresatów (IMG:style_emoticons/default/wink.gif)

1. a
2. a,b
3. a,b,c
4. a,b,c,d

Nie wiem. Być może podana biblioteka PHPMailer jest tak głupia, że "AddAddress" ustala adres, a nie dodaje go do jakieś listy (IMG:style_emoticons/default/wink.gif)
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: 9.10.2025 - 17:47