Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Hurtowe wysyłanie maila
Forum PHP.pl > Forum > Przedszkole
kajzur
  1. <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  2. </head>
  3. <form action="" method="POST">
  4. <centeR>
  5. <input type="text" name="tytul" value=""><br><br><br>
  6.  
  7. <textarea name="tresc" cols="50" rows="30">
  8. </textarea><br>
  9.    <input type="submit" value="Slij"></center>
  10. </form>
  11.  
  12. <?
  13. include ("phpm/class.phpmailer.php");
  14. include ("cfg.php");
  15.  
  16. if(isset($_POST['tresc']) and isset($_POST['tytul']))
  17. {
  18.  
  19. $file = file("sub.txt");
  20. $i=0;
  21. print_r ($file);
  22. echo count($file);
  23. $mailek = new phpmailer();
  24. //foreach($file as $dane)
  25. foreach($file as $line_num => $line)
  26. {
  27.  
  28.  
  29.                        $mailek->From = $mailadm;
  30.                    $mailek->FromName = $nazwaser;
  31.                    $mailek->Subject = $_POST['tytul'];
  32.                    $mailek->SMTPAuth   = true;              
  33.                    $mailek->Host       = $smtphost;    
  34.                    $mailek->Port       = $port;                  
  35.                    $mailek->AddAddress($line[$i], "Wiadomość");
  36.                    $mailek->Username   = $smtplogin;
  37.                    $mailek->Password   = $smtphaslo;  
  38.                    $mailek->CharSet = "UTF-8";
  39.                    $mailek->Body = $_POST['tresc'];
  40.                    $mailek->IsHTML(true);
  41.                    $ver = $mailek->Send();
  42.                    $i++;
  43.                    echo $mailek->ErrorInfo;
  44.                    }
  45.                    
  46.                    echo 'Wysłano '.$i.' wiadomosci. ';
  47.                    }
  48. ?>


Dostaję z print_r:

Array ( [0] =>xx@xx.pl [1] => xx2.o2.pl ) <-- czyli poprawnie odczytany plik..

Nawet dostaję poprawą wartość $i (Czyli pętla miała tyle przebiegów ile adresów w pliku.)

Problem pojawia się gdy chce żeby przy każdym nast. obiegu pętli podawać mu inny adres.. Ten sposób co podałem nie działa.

Prosze o pomoc smile.gif
Fifi209
Zamiast:
  1. <?php
  2. $line[$i]
  3. ?>

po prostu:
  1. <?php
  2. $line
  3. ?>


To jest foreach a nie for haha.gif
kajzur
Tak, wiem, ale w ten sposób wysyłało 2 miale na 1 adres z listy.

W ten sposób działąe dobrze:
  1. <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  2. </head>
  3. <form action="" method="POST">
  4. <centeR>
  5. <input type="text" name="tytul" value=""><br><br><br>
  6.  
  7. <textarea name="tresc" cols="50" rows="30">
  8. </textarea><br>
  9.    <input type="submit" value="Slij"></center>
  10. </form>
  11.  
  12. <?
  13. include ("phpm/class.phpmailer.php");
  14. include ("cfg.php");
  15.  
  16. if(isset($_POST['tresc']) and isset($_POST['tytul']))
  17. {
  18.  
  19. $file = file("sub.txt");
  20. $i=0;
  21. print_r ($file);
  22. echo count($file);
  23. $mailek = new phpmailer();
  24. //foreach($file as $dane)
  25. foreach($file as $line_num => $line)
  26. {
  27.  
  28.  
  29.                        $mailek->From = $mailadm;
  30.                    $mailek->FromName = $nazwaser;
  31.                    $mailek->Subject = $_POST['tytul'];
  32.                    $mailek->SMTPAuth   = true;              
  33.                    $mailek->Host       = $smtphost;    
  34.                    $mailek->Port       = $port;                  
  35.                    $mailek->AddAddress($line, "Wiadomość");
  36.                    $mailek->Username   = $smtplogin;
  37.                    $mailek->Password   = $smtphaslo;  
  38.                    $mailek->CharSet = "UTF-8";
  39.                    $mailek->Body = $_POST['tresc'];
  40.                    $mailek->IsHTML(true);
  41.                    $ver = $mailek->Send();
  42.                    $mailek->ClearAddresses();
  43.                    $i++;
  44.                    echo $mailek->ErrorInfo;
  45.                    }
  46.                    
  47.                    echo 'Wysłano '.$i.' wiadomosci. ';
  48.                    }
  49.  
  50. ?>
Fifi209
Cytat(kajzur @ 14.06.2009, 13:51:47 ) *
W ten sposób działąe dobrze:
(cut)


No właśnie to co zmieniłeś, ja Ci kazałem zmienić. ;p
kajzur
Dodałem też:

$mailek->ClearAddresses();
Fifi209
Cytat(kajzur @ 14.06.2009, 13:55:15 ) *
Dodałem też:

$mailek->ClearAddresses();


Fakt, nie zauważyłem.

Nigdy się z phpmailerem nie bawiłem, dlatego mogłem nie wiedzieć. ;>
kajzur
No spoko, ja też raczej nie ;d Ale w dokumentacji było ;d
PanGuzol
Nie lepiej będzie jeśli dodasz od razu wszystkich adresatów i wyślesz zamiast wywoływać wszystkie metody na nowo dla każdego z osobna. Żeby odbiorcy nie widzieli nawzajem swoich adresów użyj AddBCC() zamiast AddAddress()
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.