CMS Workbench

Hilfreiche Codeschnipsel, Tipps und Tricks, um das eigene CMS (Bludit, WordPress, Joomla, ...) anzupassen


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

Send Mail mit PHP

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         = "absender@domain.de";   //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 = "kontakt@domain.de"; //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 ?>




Channel Monitoring

Aus Zeit- und Kostengründen wünschen Sie die Betreuung Ihres Social-Kanals wie Xing, Kununu, YouTube, Facebook, Instagram, Twitter oder Ihrer Firmenseite.

Web-Design und Templating

Für Ihr Unternehmen benötigen Sie eine professionelle und sichere Webseite nach aktuellem Stand der Technik, um weitere Kundenfelder zu erschließen.

Bewertungen und Sterne

Ihr frisch gebackenes Unternehmen benötigt einen Image-Vorschuss, positive Bewertungen bei Google, Instagram uns co. ermöglichen einen sorglosen Start.