[PHP] Email Script mit mail() function

Dieses Thema im Forum "Programmier Tutorials" wurde erstellt von funland, 20. Juli 2005 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 20. Juli 2005
    Email Script mit mail() function

    Hier werde ich euch erklären wie man ein einfachen Contact(Mail) Script macht und wie der funktioniert . Wir brauchen 2 Dateien einmal contact.php und send.php. Es werden alles felder geprüft ob die ausgefühlt sind und auf email gültigtkeit wird auch überprüft. So fangen wir mal an mit "contact.php":
    Code:
    <form name="form1" method="post" action="send.php">
    <table width="100%" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td width="20%">Name:</td>
    <td><input name="name" type="text" id="name"></td>
    </tr>
    <tr>
    <td>Email:</td>
    <td><input name="email" type="text" id="email"></td>
    </tr>
    <tr>
    <td>Betreff:</td>
    <td><input name="betreff" type="text" id="name3"></td>
    </tr>
    <tr>
    <td valign="top">Text:</td>
    <td><textarea name="text" cols="50" rows="7" id="name4"></textarea></td>
    </tr>
    <tr>
    <td>Option:</td>
    <td><input type="submit" name="Submit" value="Absenden">
    <input name="reset" type="reset" id="reset" value="L&ouml;schen"></td>
    </tr>
    </table>
    </form>
    
    Ist ja nur HTML . Da brauch ich nichts weiter erklären. Jetzt kommt send.php . Erklärung findet ihr in den Kommentaren die ich dazu geschrieben habe. So "send.php"

    PHP:
    <?
    // Wir legen eine variable mit ihrer email
    $ihremail  "deine@mail.de" ;
    // Legen eine leere variable für Fehler an (wird später benötigt)
    $error  "" ;
    // Inhalt aus den Formularen übertragen "Name"
    $name  $_POST [ 'name' ];
    // Inhalt aus den Formularen übertragen "Email"
    $email  $_POST [ 'email' ];
    // Inhalt aus den Formularen übertragen "Betreff"
    $betreff  $_POST [ 'betreff' ];
    // Inhalt aus den Formularen übertragen "Nachricht"
    $text  $_POST [ 'text' ];  // Text
    $Submit  $_POST [ 'Submit' ];  // Sende Button
    // Wir bauen eine Funktion die soll absender email überprüfen ob die gültig ist
    // das machen wir mit eregi() wir prüfen nicht nur ob "@" und "." vorhanden ist sondern auch
    // 2 bustaben vor "@" und nach dem "@" da sind.
    function  mailcheck ( $mail ) {
      
    $mail  eregi ( "^[a-z0-9]+([-_\.]?[a-z0-9])
    +@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}"
    $mail );  // Hier läuft das ab
      
    return  $mail // wir geben email zurück
    }
        
    // jetzt prüfen wir ob die Felder ausgefüllt wurden mit if(empty)
        //wenn das feld "Name" nicht ausgefüllt wurde geben wir der leeren $error Inhalt
        // Also die ausgabe "Sie haben keinen Namen angegeben."
        
    if(empty( $name ))  $error  .=  "<li>Sie haben keinen Namen angegeben.</li>" ;
        
    // das gleiche mit "Eail"
        
    if(empty( $email ))  $error  .=  "<li>Sie haben keine Email angegeben.</li>" ;
        
    // hier setzen wir unsere oben gebaute funktion ein wenn email nicht stimmt dann fehlerausgabe
        
    if(! mailcheck ( $email ))  $error  .=  "<li>Ihre Email ist ungültig</li>" ;
        
    // für das Feld "Betreff"
        
    if(empty( $betreff ))  $error  .=  "<li>Es wurde kein Betreff ausgewählt.</li>" ;
        
    // für Nachricht
        
    if(empty( $text ))  $error  .=  "<li>Sie haben kein Text angegeben.</li>" ;
        
    // if(empty($error)) d.h wenn $error leer ist also alles normal ausgefüllt wurde und den Button "Absenden" angeklickt wurde
        // Dann springt das runter und wir holen uns die übertragene Daten
            
    if(empty( $error ) &&  $Submit  ==  "Absenden"  ) {
        
    // wir machen das ganze in eine variable "$nachricht"
        
    $nachricht  "Email von " . $name . "\n\n" .
                    
    "Name: " . $name . "\n" .
                    
    "Email: " . $email . "\n\n" .
                    
    "Betreff: " . $betreff . "\n" .
                    
    "Nachricht: " . $text ;
        
    $subject  " $betreff " ;
        
    $nachricht1  $email  "\n\n"  $nachricht ;
        
    // hier setzen wir unsere mail() funktion ein das muss genau so ausehen
        // mail($anwem,$subject,$den ganzen inhalt, unbedingt "FORM:" also von wem)
        
    mail ( $ihremail , $subject , $nachricht1 , "FROM:  $email " );
        }
        
    // hier fragen wir wieder ab wenn error leer ist dann führe das aus :
    if(empty( $error )) {
        
    // wir geben dann hier aus das alles ok ist
        
    echo  "<b>Nachricht wurde erfolgtreich verschickt</b><br>
                      <ul>
                      <li>Name: 
    $name </li>
                      <li>Email: 
    $email </li>
                      <li>Betreff: 
    $betreff </li>
                      <li>Nachricht: 
    $text </li>
                      </ul>"
    ;
        
    // Wenns nicht stimmt
        
    } else {
        echo 
    "Folgende Fehler sind aufgetreten<br><p>Ihre Nachricht konnte nicht verschickt werden:<ul> $error </ul></p>" ;
    }
    ?> 
    So das wars ja. Ganz simpel. Ich hoffe das hatt euch geholfen.
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.