Formmailer kaputt

firstlord18

Erfahrenes Mitglied
Hi erstmal,

ich will ein Script coden, mit dem es Möglich ist, eine beliebige Anzahl an Mails an einen Empfänger zu schicken. Hier ist meine Datei mit dem Formular:

PHP:
<html>
 (...)
   <br>
 <table width="401" height="95" border="0" class="formrahmen">
   <tr>
 	<td><form action="PhpAction.php" method="post">
 		<p><font size="1">Empf&auml;nger
 		  Adresse </font><br>
 		  
 		  <input type="text" name="empfaenger" size="20" class="Feld">
 		  <br>
 		 <br>
 		  <font size="1">
 		 Absender Adresse:</font><br>
 		  
 		  <input type="text" name="absender" size="20" class="Feld">
 		</p>
 		<p><font size="1"></font><br>
 		  <input type="text" name="betreff" size="20" class="Feld">
 		  <br>
 		  <br>
 		  <font size="1">
 		 
 		  Anzahl:</font><br>
 			   <input type="text" name="anzahl" size="20" class="Feld">
 		  <br>
 		  <br>
 		  <font size="1">
 		  Nachricht:</font><br>
 		  
 		  <textarea name=text cols=35 rows=8 class="Feld" type=text size=20></textarea>
 		  <br>
 		  <br>
 		  <input name="submit" type=submit class="button" value=Senden!>
 		  <input name="reset" type=reset class="button" value=Reset>
 		</p>
 	  </form></td>
   </tr>
 </table>
 <br>
 (...)
 </body>
 </html>
 </body>
 </html>


Das ist die Datei PhpAction.php:

PHP:
<?php
 echo "<html><head><title>Anonymous Mass Mailer</title><link href=\"style.css\" rel=\"stylesheet\" type=\"text/css\">";
 echo "</head><body>";
 
 /* ###### Hier kann der Text geschrieben werden, der ausgegeben wird, wenn ein Feld nicht ausgefüllt wurde ###### */
 $fehler = 'Es wurden nicht alle Felder ausgefüllt; bitte alles ausfüllen ';
 
 /*  Die Variablen ###### */
 $from = trim($_POST[absender]);
 $to = trim($_POST[empfaenger]);
 $nachricht = trim($_POST[text]);
 $betreff = trim($_POST[betreff]);
 $header = "\n Content-Type: text/plain";
 $header .= "\n From: ".$from;
 $anzahl = trim($_POST[anzahl]);
 $anfangsanzahl = 0;
 $ip = $_SERVER[REMOTE_ADDR];
 $browser = $_SERVER[HTTP_USER_AGENT];
 $log = $ip."$browser";
 
 if (!$from OR !$to OR !$nachricht OR !$betreff) {
 echo "<div align=\"center\" class=\"fehlertext\">$fehler</div>";
 echo "<br>";
 echo "<br>";
 echo "<center><input type=\"button\" class=\"button\" value=\"zurück\" onClick=history.go(-1)></center>";
 }
 else {
 
 while($anfangsanzahl <= $anzahl) {
 mail("$to", "$betreff", "$nachricht", "$header");
 echo $anfangsanzahl.". Mail verschickt";
 $anfangsanzahl++;
 }
 }
 ?>

Das Script tut so als macht es alles, weil es schreibt hin, 1. Mail verschickt, 2.Mail verschickt usw.
Aber die Mails kommen nicht an.
Vielleicht wisst Ihr ja was ich falcsh mache. Danke
 
mail("$to", "$betreff", "$nachricht", "$header"); <- falsch
mail($to, $betreff, $nachricht, $header); <- richtig.

Du solltest die Variablen nicht in Quotes schreiben!

Gruß Mirko
 
Und ich bin gespannt, was der Grund dafuer ist, dass man eine beliebige Anzahl von Mails an den gleichen Empfaenger schickt?
Irgendwelche Kinderstreiche moechte man naemlich nicht unterstuetzen, zumal hoffentlich dein Hoster dir in jenen Fall den Saft abdreht!

Cheers!
 
ich bin en Anfänger in PHP, un wollte deswegen mal ne Funktion mit mail() schreiben. Da hab ich mir gedacht, dass ne While-Schleife auch ganz cool wäre, und außerdem benutz ich des net wirklich, is nur ma zum bischen rumprobieren. !
 
Zurück