Mit diesem PHP-Script wird ein einfacher Mailversand realisiert. Erzeugen Sie noch eine Eingabemaske und schon können Sie dieses Programm in Ihre Webseite einhängen:

001  <?php
002  //send_email.php
003  $email_from         = "ed.niamod@rednesba‎";   //Absender falls keiner angegeben wurde
004  $sendermail_antwort = true;      //E-Mail Adresse des Besuchers als Absender. false= Nein ; true = Ja
005  $name_von_emailfeld = "Email";   //Feld in der die Absenderadresse steht
006
007  $empfaenger = "ed.niamod@tkatnok‎"; //Empfaenger-Adresse
008  $mail_cc    = ""; //CC-Adresse, diese E-Mail-Adresse bekommt einer weitere Kopie
009  $betreff    = "Anfrage zur Erstellung einer Webseite"; //Betreff der Email
010
011  $url_ok     = "meldung-ok.html"; //Zielseite, wenn E-Mail erfolgreich versendet wurde
012  $url_fehler = "meldung-nook.html"; //Zielseite, wenn E-Mail nicht gesendet werden konnte
013
014  //Diese Felder werden nicht in der Mail stehen
015  $ignore_fields = array('submit');
016  
017  //Datum, wann die Mail erstellt wurde
018  $name_tag = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
019  $num_tag  = date("w");
020  $tag      = $name_tag[$num_tag];
021  $jahr     = date("Y");
022  $n        = date("d");
023  $monat    = date("m");
024  $time     = date("H:i");
025
026  //Erste Zeile unserer Email
027  $msg = ":: Gesendet am $tag, den $n.$monat.$jahr - $time Uhr ::\n\n";
028
029  //Hier werden alle Eingabefelder abgefragt
030  foreach($_POST as $name => $value) {
031     if (in_array($name, $ignore_fields)) {
032          continue; //Ignore Felder wird nicht in die Mail eingefuegt
033     }
034     $msg .= "::: $name :::\n$value\n\n";
035  }
036
037  //E-Mail Adresse des Besuchers als Absender
038  if ($sendermail_antwort and isset($_POST[$name_von_emailfeld]) and filter_var($_POST[$name_von_emailfeld], FILTER_VALIDATE_EMAIL)) {
039     $email_from = $_POST[$name_von_emailfeld];
040  }
041
042  $header="From: $email_from";
043
044  if (!empty($mail_cc)) {
045     $header .= "\n";
046     $header .= "Cc: $mail_cc";
047  }
048
049  //Email als UTF-8 senden
050  $header .= "\nContent-type: text/plain; charset=utf-8";
051
052  /**
053   * Eine Blackliste für den Inhalt der Mail pflegen. Wenn der Text der Mail einen
054   * der folgenden Begriffe enthält, wird der Versandt unterbrochen. Der Leser
055   * bekommt eine entsprechende Meldung
056   */
057
058  $blacklist = array('sex', 'date', 'babe', 'yandex', 'money', 'porn', 'money', 'income', '$', 'script', 'cryptocurrency', 'trading', 'investing');
059  $fehler    = false;
060    foreach ($blacklist as $value) {
061      if (strpos(strtolower($msg), $value)) {
062      $fehler = true;
063    }
064  }
065  //- Blackliste Ende -
066
067  if ($fehler) {
068    $mail_senden = false;
069  } else {
070    $mail_senden = mail($empfaenger,$betreff,$msg,$header);
071  }
072  
073  //Weiterleitung, hier konnte jetzt per echo auch Ausgaben stehen
074  if($mail_senden){
075    header("Location: ".$url_ok); //Mail wurde gesendet
076    exit();
077  } else{
078    header("Location: ".$url_fehler); //Fehler beim Senden
079    exit();
080  }
081  ?>

von Oliver Lohse