WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Newsletter mit Reload und String Übergabe » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von diwie
okay danke. werde mich durchackern.
von languitar
http://php.net/session

da steht alles was du wissen musst!
von diwie
ich bin leider nicht so der php-experte. könntest du das bitte für mich noch etwas detailierter erläutern. genauere syntax wäre sehr schön. ;)
von Philipp Gérard
Als Session?

php.net/session

von diwie
Hallo freundliche Helfer,

ich schlage mich seit Tagen mit folgendem Problem herum. Es geht um den größeren Versand von Newslettermails. Leider läuft php bei meinem Provider im safe-Mode, so das nur eine max. Ausführungszeit für Scripte von 30s erlaubt ist. Daher muß ich die im Augenblick 150 eingetragenen Mailadressen in mehreren Schritten verschicken.

Das realisiere ich mit einem MySQL-Query inkl. LIMIT Angabe in einer Schleife und anschließenden RELOAD der Seite. Das funktioniert auch soweit. Probleme habe ich nur beim Nachrichtentext ($nl_text). Dieser wird beim Start mittels Eintrag in einer Textarea übergeben. Bei dem Eintrag handelt es sich um HTML-Befehle die mittels Cut'n'Paste eingefügt werden, also auch mit Zeilenumbrüchen(!). Beim ersten Schwung verschickter Mails, also vor dem ersten Reload der Seite, wo die Übergabe in $nl_text noch durch das Formular geschieht, funktionert das auch hervorragend. Erst nach dem Reload und Übergabe der Variable über die aufzurufende URL, schneidet das Script nach einer bestimmten Anzahl Zeichen ab.

Gibt es keine Möglichkeit den HTML-Inhalt der Mail ($nl_text) anders zu sichern und nach dem Reload der Seite wieder einzulesen bzw. zu includen?

Das momentane Script, allerdings mit zu Testzwecken mail() an meine Adresse:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68: 
69: 
70: 
71: 
72: 
73: 
74: 
75: 
76: 
77:
<?php

/* Formular anzeigen, wenn Betreff und Newsletter NICHT übergeben wurden */
if(!$nl_betreff OR !$nl_text){

?>



This is the right place to formulate your newsletters.<br><br>
<table class="text" border="0" cellspacing="3" cellpadding="0"><form method="POST" action="<?php echo ($PHP_SELF."?page=admin&amp;action=newsletter&amp;UIN=".$UIN); ?>">
  <tr>
    <td><img src="./images/absatz_orange.gif" width="4" height="6" alt=""> <span class="text_small text_blue">sender</span><br><input type="text" class="text" name="nl_name" size="37" value="<?php echo $name; ?>"></td>
    <td colspan="2"><img src="./images/absatz_orange.gif" width="4" height="6" alt=""> <span class="text_small text_blue">email</span><br><input type="text" class="text" name="nl_email" size="38" value="<?php echo $antwortemail; ?>"></td>
  </tr>
  <tr>
    <td colspan="2"><img src="./images/absatz_orange.gif" width="4" height="6" alt=""> <span class="text_small text_blue">subject</span><br><input type="text" class="text" name="nl_betreff" size="82" value="<?php echo $standard_betreff; ?>"></td>
  </tr>
  <tr>
    <td colspan="2"><img src="./images/absatz_orange.gif" width="4" height="6" alt=""> <span class="text_small text_blue">text</span><br><textarea rows="18" name="nl_text" cols="80"></textarea></td>
  </tr>
  <tr style="padding-top: 10px;">
    <td><input type="submit" class="submit" value=" submit "></td>
    <td align="right"><input type="reset" class="submit" value=" reset " style="margin-right: 1px;"></td>
  </tr>
</form></table><br>

<?php


} else {

    /* Slashes entfernen */
    $nl_text = stripslashes($nl_text);


    /* Anhang an den Text d. Newsletters hängen */
     $nl_text .= $standard_anhang;

     $header = "MIME-Version: 1.0\n"; 
     $header .= "Content-type: text/html; charset=iso-8859-1\n"; 
     $header .= "From: " . $name . " <" . $antwortemail . ">\n"; 
	   
    /* E-Mailadressen aus dem Verteiler holen */
    /* Für jede E-Mailadresse wird nun die E-Mail abgeschickt */

     $max = 40;
     $limit = $num*$max;
     $domain = "@domain.com";

     $result = mysql_query("SELECT EMail " .
                          "  FROM newsletter " .
                          " WHERE Aktivierung = '1' LIMIT $limit,$max "  // so werden nur freigeschaltete Benutzer aus der Datenbank geholt
                          )or error(__LINE__,__FILE__,"Can not read the addresses!", mysql_error());
	  
      while ($row = mysql_fetch_array($result)) {
                                                $i++;
                                                $testmail = "info".$i.$domain;
                                                mail($testmail, $nl_betreff, $nl_text, $header);
                                                }
      if($i == $max) {
	             $num++;
                     $count = $num*$max;
                     $text = eregi_replace("\r\n","",htmlspecialchars($nl_text));
                     sleep(1);
                     $reload = $PHP_SELF."?page=admin&amp;action=newsletter&amp;UIN=".$UIN."&amp;nl_betreff=".$nl_betreff."&amp;nl_text=".$text."&amp;num=".$num."&amp;count=".$count;
                     echo "<script language=\"javascript\">self.location=\"".$reload."\"</script>";
                     }
 
    /* Bestätigung */

        $final = $count+$i;
	echo ("<span class=\"text_orange\">Result:</span> This newsletter was send out to " . $final . " subscribers."); include ("../footer_content_main.php"); die;

}

?>

Nach oben