Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: phpmailer - wysylanie mailingu
Forum PHP.pl > Forum > PHP
zeta758
mam kod:
  1. <?php
  2. $do_kogo=explode(';',$odbiorca);
  3.  
  4. for($i=0;$i<count($do_kogo);$i++){
  5.  
  6. $mail->AddAddress($do_kogo[$i]); 
  7.  
  8. if(!$mail->Send())
  9. {
  10. echo 'Nie udalo sie wyslac wiadomosci do: '.$do_kogo[$i].'<br>';
  11. echo 'Mailer Error: ' . $mail->ErrorInfo;
  12. }else{
  13. echo 'Wyslano wiadomosc do '.$do_kogo[$i].'<BR>';
  14. }
  15. }
  16. ?>

gdzie $odbiorca to tablica maili: np: jankowalski@zona.pl;Franekpompka@sztacheta.pl;zenek@mostowy.pl

no i problem jest taki ze $mail->AddAddress($do_kogo[$i]); dodaje odbiorców kolejnych , czyli jak wysyla najpierw to jankowalski@zona.pl pozniej wysyla do jankowalski@zona.pl i Franekpompka@sztacheta.pl........

czyli jak podaje 3 maile to on wysyla 6 maili.
Jak zrobic zeby nie dodawal do $mail->Send() kilku odbiorców tylko jednego questionmark.gif
thornag
To w calosci jest zle skonstruowane, do czyszczenia pola nadawcow sluzy metoda $mail->ClearAddresses(); ktora musialbys uruchomic po kazdym wysylaniu. Jednak nie ma sensu wysylac maila za mailem lepiej wyslac jednego jesli tresc taka sama, przerob to tak

  1. <?php
  2. $do_kogo=explode(';',$odbiorca);
  3.  
  4. for($i=0;$i<count($do_kogo);$i++){
  5.  
  6. $mail->AddBCC($do_kogo[$i]); 
  7.  
  8. }
  9.  
  10. if(!$mail->Send())
  11. {
  12. echo 'Nie udalo sie wyslac wiadomosci.<br>';
  13. echo 'Mailer Error: ' . $mail->ErrorInfo;
  14. }else{
  15. echo 'Wyslano wiadomosc.<BR>';
  16. }
  17. }
  18. ?>


Pamietaj jednak by nie wysylac za duzo maili na raz bo przypchasz serwer. Najlepiej paczki po 200-300 z sekundowym odstepem, tematow o mailingu bylo na tym forum od groma, poszukaj uzywajac slow phpmaile, massmailing itp.
Alek
  1. <?php
  2. $mail->ClearAddresses();
  3. ?>
po każdym wysłanym mailu
...co zresztą jest w dok. klasy:)
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.