Załóż konto Strona główna  ·  Foto  ·  Download  ·  Twoje konto  ·  Wyślij newsa  ·  Forum  

Menu strony
Radio Radio
TV Video-stacja
Forum
Regulamin & Kontakt
Wyraź siebie
Twoje konto

Zasoby

Ostatnie posty na Forum?

Społeczność TS

Wysyłanie subkrybcji (Kategoria >> Kącik php)
PHP: Wysyłanie email


Jak wysłać jednorazowo np. 10,000 emaili do swoich subkrymentów i przy tym nie zakorkować serwera?

Rozwiązanie znajdziesz poniżej, a jest nim skrypt który cyklicznie wysyła maile. Co prawda trochę długo to trwa bo ~ 1000 emaili wyśle z domyślnie ustawiona sesją (3 sekundy; 10 podczas jednej) w ok. 25 minut. Ale przynajmniej masz gwarancje, że je wyśle i się przy tym nie zawiesi, nie zatnie serwera... Po ustawianiu odpowiednich nagłówków można wysyłać również wiadomości w formie HTML.

Tak więc wysłanie nawet gigantycznej liczby emaili nie stanowi problemu, możesz więc bez większych przeszkód zrobić subkrybcję na własnej stronie :)

Wersja skryptu oparta jest na plikach .txt, ale można bez problemu przerobić ją na wersję SQL...


Kod PHP
001 <?php
002
003 #---------------------------------
004 # Ekipa: TS, www.Twoja-Strona.net
005 #---------------------------------
006
007 $plik = "email.txt"; // Plik z mailami zapisanymi linia po lini, lub ze znakami podziału wiersza...
008 $max = 2; // Max. dwa maile wysyłane w jednej sesji
009 $adres = "twoj_mail@twoja-strona.net"; // Twój email
010 $temat = "Temat Subkrybcji"; // Tytuł emaila
011 $tresc = "Treść maila";
012 $tresc .= "... tresć dalej";
013 $tresc .= "... it dalej.";
014 $czas = "3000"; // Nowa sesja co 3 sekundy
015
016 #------------------------------
017
018 echo"<b><li>Restart:</li></b> <a href=\"".$_SERVER['PHP_SELF']."\">Wyślij od nowa</a><br>";
019 echo"<b><li>Adres nadawcy:</li></b> ".$adres."<br>";
020 echo"<b><li>Temat:</li></b> ".$temat."<br>";
021 echo"<b><li>Wiadomość:</li></b> ".nl2br($tresc)."<br><hr style=\"text-align: left\" /><br>";
022
023 #------------------------------
024
025 $file = @file($plik);
026 $strona = $_GET['id'];
027 $razem = @count($file);
028 $do_strony = $razem/$max;
029
030 if($strona!="" && $strona>0){
031    $od = $strona*$max;
032    $do = $od+$max;
033    $next = $strona;
034 }else{
035    $od = 0;
036    $do = $max;
037    $next = 0;
038 }
039
040 if($od>=$razem){
041    echo"Proces zakończony...";
042 }else{
043    for($i=$od;$i<$do&&$i<$razem;$i++){
044        if(@mail($file[$i], $temat, $tresc, "From: \"".$adres."\" <".$adres.">\n")){
045           echo"Wiadomość wysłana do: <b>".$file[$i]."</b><br>";
046        }else{
047           echo"Nie udało się wysłać maila do: <b>".$file[$i]."</b><br>";
048        }
049    }
050 }
051
052 $pozostalo = $razem-$do;
053 if($pozostalo<0){$pozostalo2=0;}else{$pozostalo2=$pozostalo;}
054 $jeszcze = $razem-$pozostalo2;
055 echo"<br><br><b>OD</b> = ".$od.", <b>DO</b> = ".$do.", <b>Pozostało do wysłania:</b> ".$pozostalo2.", <b>Wysłano:</b> ".$jeszcze." <b>na</b> ".$razem." (emaili).";
056
057 if($next<$do_strony){
058    $dalej = $next+1;
059    echo'<script language="Javascript" type="text/javascript">
060       <!--
061       function gotoThread(){
062       window.location.href="'
.$_SERVER['PHP_SELF'].'?id='.$dalej.'";
063       }
064       window.setTimeout("gotoThread()", '
.$czas.');
065       //-->
066       </script>'
;
067    echo"<hr style=\"text-align: left\" /><b><li>Dalej:</li></b> <a href=\"".$_SERVER['PHP_SELF']."?id=".$dalej."\">Kliknij gdy system się zawiesi</a>";
068 }
069
070 ?>
071


Pobierz Skrypt








Autor: As

Prawa autorskie © . Wszelkie Prawa Zastrzeżone.



Opublikowane: 2005-10-31 (489 odsłon)

[ Wróć ] Biblioteka index


Wszelkie prawa zastrzeżone 2004-2012 © Twoja-Strona.Net. Korzystanie z serwisu jest równoznaczne z akceptacją regulaminu

Teledyski.Info | Pobieracz.Net | Hostuje.net | Torenty.biz | Wordpressy.pl | 1ts.pl

System Cache v1.0 włączony. Kopia cache.