[Hilfe]PHP E-Mail System

01/03/2010 11:30 ooCheateroo#1
Hallo ich bin gerade dabei ein E-Mail System in PHP zu bearbeiten nur Leider geht es nicht...
(Habe es schon auf funpic und ohost gehostet und zich mal ausprobiert, mit verschiedenen Mails wie hotmail und yahoo aber es hat nie geklappt...)

PHP Code:
<html>
<head>
<title>...Mail-Tool...</title>
<meta name="keywords" content="E-Mail-Tool">
<meta name="description" content="Verscickt e-mails.">
</head>
<body>
<center>
<font face="Courier New" size="4">
<b>.o:0:.........E-Mail Tool.........:0:</b>o.<br>
</font><font face="Courier New" size="2"><br><br>
</font><form action="<?php echo $PHP_SELF?>" method="post">
  <p><font size="2" face="Courier New">Von (Name oder E-Mail):  </font></p>
  <p>
    <font size="2" face="Courier New"><input type="Text" name="absender" value="" size="35">
    <br><br>
    An wen es noch verschickt wren soll (CC):</font></p>
  <p><font size="2" face="Courier New">
  <input type="Text" name="cc" value="" size="35">
    <br><br>
    Empfänger E-Mail:</font></p>
  <p><font size="2" face="Courier New">
  <input type="Text" name="an" value="" size="35">
    <br><br>
    Betreff:</font></p>
  <p><font size="2" face="Courier New">
  <input type="Text" name="betreff" value="" size="35">
    </font></p>
  <p><font size="2" face="Courier New">Text:<br>
    <br>
    <textarea name="textarea" cols="40" rows="10"></textarea>
    <br><br>
    <input type="submit" name="senden" value="senden">
  </font></p>
</form>
<p><font face="Courier New" size="2">
  <?php
   
if($senden=="senden") {
/* // entfernen für HTML-Versand */
//$header .= "Content-Type: text/html; charset=iso-8859-1\n"; // Mime type
$header .= "From: $absender\n";
$header .= "Cc: $cc\n";
if(!
$an$fehler[] = "Empfaenger fehlt.";
if(!
$betreff$fehler[] = "Der Betreff fehlt.";
if(!
$textarea$fehler[] = "Sie haben keine Nachricht geschrieben.";
if(!
$absender$fehler[] = "Absender fehlt. (Muss keine E-Mail Adresse sein)";

if(!
count($fehler)) {
       @
mail($an,$betreff,$textarea,$header);
      echo(
"<b>Ihre Nachricht wurde gesendet.</b><br><br>\n\n");
      echo 
"An: $an<br>\n";
      echo 
"Betreff: $betreff<br>\n";
      echo 
"Text: $textarea<br>\n";
   } else {
      echo 
"Beim Senden traten folgender Fehler auf:";
      echo 
"<ul><li>".implode("<li>",$fehler)."</ul>";
    }
  }
?>
  
  </font>
  <br><br><br>
  <u> Regel:</u></p>
<p><strong>Sie akzeptieren dass sie dies nicht als Spam-Tool benutzen!</strong></p>
<p><i><br>
  Mit dem Versenden einer E-Mail bestätigen sie diese Regel!</i>
  <br>
</p>
<p>Copyright by ooCheateroo</p>
</center>
</body>
</html>
Ich bedanke euch für eure Hilfe :-)
01/06/2010 15:15 *GuideMan*#2
Ich hab dir mal ein Beispiel gemacht, welches eine Email an sendet:
Code:
<?php 

$email_from = "[Only registered and activated users can see links. Click Here To Register...]";   //Absender falls keiner angegeben wurde 
$sendermail_antwort = 1;      //E-Mail Adresse des Besuchers als Absender. 0= Nein ; 1 = Ja 
$name_von_emailfeld = "Email";   //Feld in der die Absenderadresse steht 


//$send_dat ist ein mehrdimensionales Array, in dem zuerst die Empfängeradresse steht, 
//dann die CC-Adresse, dann der Betreff und dann die URL, auf die der Besucher weitergeleitet 
//wird, wenn die Mail gesendet wurde und zum Schluss die URL, auf die der Besucher weitergeleitet 
//wird, wenn ein Fehler beim senden auftrat 
$send_dat = array( 

"dat1" => array("[Only registered and activated users can see links. Click Here To Register...]", "[Only registered and activated users can see links. Click Here To Register...]", "Betreff","www.url.de/ok.php", "http://www.url.de/fehler.php"), 

"dat2" => array("[Only registered and activated users can see links. Click Here To Register...]", "[Only registered and activated users can see links. Click Here To Register...]", "Betreff2","http://www.url.de/ok.php", "http://www.url.de/fehler.php"), 

); 


//Diese Felder werden nicht in der Mail stehen 
$ignore_fields = array('send_index','Submit','senden_y'); 

//Hier wird ausgehwählt, welcher "Datensatz" aus $send_dat die Mail bekommt 
$send_index = $HTTP_POST_VARS['send_index']; 

//Wenn kein send_index gesetzt wurde, bekommt der 1 Datensatz die Mail 
if ($send_index!="") 
    { 
   $st="$send_index"; 
    } 
else 
    { 
   $st="dat1"; 
    } 


$mailto = $send_dat[$st][0];   //An diese Adresse geht die Email 
$mail_cc = $send_dat[$st][1];  //Das ist der CC-Empfänger 
$subject = $send_dat[$st][2];  //Betreff der Mail 





//Datum, wann die Mail erstellt wurde 
$name_tag[0] = "Sonntag"; 
$name_tag[1] = "Montag"; 
$name_tag[2] = "Dienstag"; 
$name_tag[3] = "Mittwoch"; 
$name_tag[4] = "Donnerstag"; 
$name_tag[5] = "Freitag"; 
$name_tag[6] = "Samstag"; 
$num_tag = date( "w"); 
$tag =$name_tag[$num_tag]; 
$jahr = date( "Y"); 
$n = date( "d"); 
$monat = date( "m"); 
$time = (date("H:i")); 

//Erste Zeile unserer Email 
$msg = ">> Gesendet am $tag, den $n.$monat.$jahr - $time Uhr <<<br><br>"; 

//Hier werden alle Eingabefelder abgefragt 
while (list($name,$value) = each($HTTP_POST_VARS)) 
    { 
   if (in_array($name, $ignore_fields)) 
        { 
        continue; //Ingnore Feld wird nicht in die Mail eingefügt 
        } 
    $msg .= ">> $name << <br>$value<br><br>"; 
} 

$msg = str_replace("<br>", "\n", $msg); 
$msg = stripslashes($msg); 

//E-Mail Adresse des Besuchers als Absender 
if ($sendermail_antwort==1 and isset($HTTP_POST_VARS["$name_von_emailfeld"])) 
    { 
   $email_from = $HTTP_POST_VARS["$name_von_emailfeld"]; 
    } 

$header="From: $email_from"; 


if (!empty($mail_cc)) 
    { 
   $header .= "\n"; 
   $header .= "Cc: $mail_cc"; 
    } 



$mail_senden = mail ($mailto,$subject,$msg,$header); 

//Weiterleitung, hier konnte jetzt per echo auch Ausgaben stehen 
if($mail_senden == true) 
    { 
   Header("Location: ".$send_dat[$st][3]); //Mail wurde gesendet 
    } 
else 
    { 
    Header("Location: ".$send_dat[$st][4]); //Fehler beim Senden 
   } 
?>