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 ::
"; 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 ::: $value
";
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 .= "
";
046 $header .= "Cc: $mail_cc";
047 }
048
049 //Email als UTF-8 senden
050 $header .= "
Content-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