eMail mit sendMail() aus PHP versenden

Mit diesem kleinen Script realisieren Sie einen Mailversandt mit Standard PHP und einer Sperrliste die den Versand abbricht wenn Sperrworte enthalten sind.

Inhalt

Mail mit PHP versenden

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  ?>

Code


FlightCMS
2024-01-28
Beitrag,Sortieren,Datum,Titel,ASC,DESC
post
18

Ein eigenes CMS programmieren I.

In diesem mehrteiligen Workshop entwickeln Sie ein eigenes kleines Content Management System mit einer Flatfile Datenbank und Markdown Parser - inkl. Download.

Ein eigenes CMS programmieren II.

In der zweiten Hälfte des Workshops, geht es darum, das kleine CMS noch weiter auszubauen und vollwertig zu machen. Sie binden die Template-Engine Smarty ein.