Mailscript funtioniert nicht mehr

PHP, CSS und JavaScript lernen. Anwendungen für Webseiten
Benutzeravatar
Bushisan
Mitglied (Level 7)
Mitglied (Level 7)
Beiträge: 66
Registriert: So 13. Dez 2020, 21:23
Wohnort: Neukirchen bei Sulzbach-Rosenberg
Kontaktdaten:

Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Bushisan »

Hallo zusammen,
habe mir 2021 mir Mobirise 4.12 eine Buchvostellungsseite für Freunde erstellt.
Bücher wurden bisher mit dem Kontaktformular von Werner Zenk bestellt.
Hat in der Vergangenheit immer funktioniert - im Moment funktioniert das warum auch immer nicht mehr.

Die E-Mail wird nicht versendet.

Ich bekomme keine Bestätigungsmail obwohl ich das angeklickt habe und auf der Seite kommt nicht an. Fehlermeldungen werden auch nicht angezeigt !

Die E-Mail Adresse stimmt - die Weiterleitung habe ich mit einer normalen E-Mail getestet.

Hat jemand ne Vorstellung oder Lösung für mich?

Hier mal ein Link zur Seite:

https://eigenverlag-oblinger-kerscher.de/

Danke und Grüße aus der schönen Oberpfalz !
Hubert
Es kann nur einen geben - warum bin ich das nicht?
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Tommy Herrmann »

Moin Hubi,

also wenn Du nichts am Formular verändert hast, dann kann es ja nur an Deinem Provider (Anbieter) liegen.

Verlangt der vielleicht eine Formular mit SMTP (Simple Mail Transfer Protocol)?

https://de.wikipedia.org/wiki/Simple_Ma ... r_Protocol

Da wird dann der Benutzername und das Passwort abgefragt (wie beim Outlook) und das ist natürlich sichererer als PHP-Mail.

Hattest Du bei Deinem Provider mal angerufen und gefragt?

Werner hat auch Beispiel-Formulare mit SMTP

https://werner-zenk.de/scripte/e-mails_ ... senden.php



P.S.:

Habe Deine Frage in den Bereich von „Werner-Zenk.de“ verschoben - da liest es dann vielleicht auch Werner.
Klaus
Supporter
Supporter
Beiträge: 446
Registriert: Mi 21. Jul 2021, 00:43

Re: Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Klaus »

Falls ich es richtig sehe liegt die Seite bei Ionos ...
Tommy hat bzgl. Mail Versenden vor einiger Zeit was geschrieben weil Ionos nur noch Mails (Absender) von der eigenen Domäne zulassen.

Versuche mal zum Testen dass sowohl Absender (im PHP Skript) als auch Empfänger gültige E-Mail-Adressen der Domäne sind auf der die Seite liegt.

Ggf. wurde das Versenden auch wegen Spam gesperrt, ist Tommy letztes Jahr mal passiert.
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Tommy Herrmann »

ja - das war der Hammer :angst:

Über 1 Millionen E-Mails kamen vom Spambot - mehrere pro Sekunde - und IONOS hat bei mir alles gesperrt.

viewtopic.php?p=12175#p12175

… auch mein Forum hier konnte keine Mails mehr senden. So habe ich das überhaupt erst gemerkt, denn niemand konnte sich mehr registrieren und niemand hat Mails bei Antworten auf Fragen mehr erhalten. Ich hatte dagegen, im Admin-Bereich vom Forum, Dutzende von Fehlermeldungen.

Ich hatte als Sicherheitsabfrage auch diese Rechenaufgabe in Werners Formular. Die haben die Spammer geknackt und meine Domain wurde fast vollkommen blockiert.

Danach habe ich fast alle Formulare und das Forum hier auf SMTP umgestellt und noch einen zusätzlichen Spamschutz in Form eines Malware-Scanners "Site Scan + Repair" bei IONOS bestellt.

https://www.ionos.de/hilfe/sicherheit/s ... bietet-es/
Benutzeravatar
Bushisan
Mitglied (Level 7)
Mitglied (Level 7)
Beiträge: 66
Registriert: So 13. Dez 2020, 21:23
Wohnort: Neukirchen bei Sulzbach-Rosenberg
Kontaktdaten:

Re: Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Bushisan »

Halli zusammen,

ich Danke Euch für Eure Bemühungen. Werde das mal bei IONOS ansprechen obs daran liegt - ich halte Euch auf dem Laufenden :)

Viele Grüße
Hubert
Es kann nur einen geben - warum bin ich das nicht?
Benutzeravatar
Bushisan
Mitglied (Level 7)
Mitglied (Level 7)
Beiträge: 66
Registriert: So 13. Dez 2020, 21:23
Wohnort: Neukirchen bei Sulzbach-Rosenberg
Kontaktdaten:

Re: Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Bushisan »

Hallo zusammen,

es gab wohl den Versuch unsere Mailadesse mit Bots zu blockieren oder zu hacken. IONOS hat das gemerkt und die Adresse gesperrt. Ich hab die Mitteilung von IONOS wohl schlicht überlesen oder nicht wahrgenommen. Alles wieder gut.

Danke Euch nochmal und wünsche Euch einen schönen Tag !
LG Hubert
Es kann nur einen geben - warum bin ich das nicht?
Benutzeravatar
Bushisan
Mitglied (Level 7)
Mitglied (Level 7)
Beiträge: 66
Registriert: So 13. Dez 2020, 21:23
Wohnort: Neukirchen bei Sulzbach-Rosenberg
Kontaktdaten:

Re: Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Bushisan »

Hallo zusammen,
ist wohl doch nicht so einfach das ganze. Nachdem das Mailproblem (eingehende Mails im Minutentakt) wieder aufgetaucht ist hat sich die Ionos Seviceabteilung das ganze mal angeschaut und mir folgendes geschrieben:
Nach einer gründlichen Überprüfung haben wir festgestellt, dass die derzeitige Sicherheitsabfrage in Ihrem Kontaktformular möglicherweise nicht ausreichend sicher ist, um Spam-Mails effektiv zu verhindern. Dies könnte zu unerwünschtem E-Mail-Verkehr führen und die Wirksamkeit unseres Kontaktformulars beeinträchtigen.
Hat jemand ne Vorstellung wie man (ich) das sicherer machen kann?

Vorab schonmal Danke und einen schönen Abend!
Gruß Hubert
Es kann nur einen geben - warum bin ich das nicht?
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Tommy Herrmann »

Moin,

das hatte ich mir auch bereits gedacht :(

IONOS kann die Sperre zwar wieder aufheben, diese wird aber sofort und automatisch wieder gesetzt, wenn das mit dem Spam weiter geht. Da musst Du schon das Formular neu gestalten und ändern.

Wirklich sicher kannst Du das gar nicht machen und überhaupt nicht gegen Menschen.

Man kann nur versuchen "Spam-Bots" - also Roboter - von dem automatischen Versenden abzuhalten.

Auch bei mir wurde ja diese Rechenaufgabe von jemandem automatisch geknackt, sodass ich dann über ein solches Formular vom Werner über 1 Millionen Mails innerhalb 1 Woche erhalten habe. IONOS hat mir daher dann sämtliche Mail gesperrt.

Nach der Entfernung des alten Formulars hat der Spambot noch genau 5 Tage weiter gesendet, obwohl gar kein Formular mehr da war - was man aber an der Log-Datei von IONOS weiterhin sehen konnte. Das waren dann weiter so 1 bis 3 Mails pro Sekunde.

Ich dann vorsichtshalber noch ca. 50 Formulare auf meinen alten NOF-Seiten stillgelegt oder ganz gelöscht.

Das gespamte Formular habe ich durch eines von "Arclab" ersetzt:

https://www.mobirise-tutorials.com/Formular/

Das dann mit Google "reCaptcha" und SMTP-Mail - also mit Passwortschutz vom Server.

Man konnte danach auch weitere Versuche des Spammers erkennen, die aber erfolglos blieben.

Bisher ist nichts mehr passiert.

Andere Formulare vom Werner habe ich mit der Lösung von Buchstaben (anstelle der Rechenaufgabe) ersetzt:

https://www.mobirise-tutorials.com/Form ... ontakt.php

und sie zusätzlich mit einer "Flood-Sperre" (Sperrung über eine angegeben Zeit) versehen. Dann kann der gleiche Absender z.B. erst nach 1 oder 3 Minuten (wie auch immer man das einstellt) erneut eine Mail senden.

Das sollte eigentlich für Dich jetzt die einfachste Lösung und auch ausreichend sein.
Benutzeravatar
Bushisan
Mitglied (Level 7)
Mitglied (Level 7)
Beiträge: 66
Registriert: So 13. Dez 2020, 21:23
Wohnort: Neukirchen bei Sulzbach-Rosenberg
Kontaktdaten:

Re: Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Bushisan »

Hallo Tommy,

vielen, vielen Dank erstmal. Hab leider nirgendwo gesehen wie man die Aufgabe auf Buchstaben umstellen kann oder wie die Flood Sperre eingestellt bzw. eingebaut wird. Stell mich vermutlich wie immer erstmal recht ungeschickt an - sorry.
Gruß Hubert
Es kann nur einen geben - warum bin ich das nicht?
Benutzeravatar
Bushisan
Mitglied (Level 7)
Mitglied (Level 7)
Beiträge: 66
Registriert: So 13. Dez 2020, 21:23
Wohnort: Neukirchen bei Sulzbach-Rosenberg
Kontaktdaten:

Re: Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Bushisan »

Sorry - das mit der Umstellung auf Buchstaben hab ich gefunden :)
Es kann nur einen geben - warum bin ich das nicht?
Benutzeravatar
Bushisan
Mitglied (Level 7)
Mitglied (Level 7)
Beiträge: 66
Registriert: So 13. Dez 2020, 21:23
Wohnort: Neukirchen bei Sulzbach-Rosenberg
Kontaktdaten:

Re: Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Bushisan »

Die Floodsperre auch :)
Es kann nur einen geben - warum bin ich das nicht?
Benutzeravatar
Bushisan
Mitglied (Level 7)
Mitglied (Level 7)
Beiträge: 66
Registriert: So 13. Dez 2020, 21:23
Wohnort: Neukirchen bei Sulzbach-Rosenberg
Kontaktdaten:

Re: Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Bushisan »

Wenn ich auf das Feld "Formular erstellen" klicke dann tut sich nichts mehr :(
Es kann nur einen geben - warum bin ich das nicht?
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Tommy Herrmann »

Moin,

es wäre schon angebracht den Link hier zu posten, wo Du versuchst das neue Formular zu erstellen, sonst weiß man ja nicht, wo bei Dir was nicht funktioniert.



Hier beim Werner:

https://werner-zenk.de/tools/formulargenerator.php

oder an meinem Generator (auch vom Werner):

https://www.mobirise-tutorials.com/Formular-Generator/


Bei mir funktionieren beide Seiten einwandfrei :confused:

... ich habe das gerade eben nochmals erfolgreich getestet.



Bei der zusätzlichen Verwendung der "Floodsperre" musst Du auch eine Datei erstellen, die bereits eine Textzeile enthält und händisch auf den Server kopieren - in das Verzeichnis, in dem Du das Script auch verwendest, also in das Stammverzeichnis von Deinem Mobirise-Projekt:

floodsperre.txt

Code: Alles auswählen

// Floodsperre - Innerhalb der Zeitspanne kann das Formular
// vom selben Benutzer nicht mehrmals gesendet werden.
$Floodsperrzeit = 60; // Sperrzeit in Sekunden

// Datei in der die IP und die Zeit gespeichert werden sollen.
$Flooddatei = "floodsperre.txt"; // Die Datei benötigt Schreibrechte!
// Herunterladen: https://werner-zenk.de/tools/scripts/fileload.php?datei=floodsperre.txt 

Diese Datei "floodsperre.txt" kannst Du auch beim Werner downloaden:

https://werner-zenk.de/tools/scripts/fi ... sperre.txt


... dort ist dann schon eine Text-Zeile eingetragen:

Code: Alles auswählen

Diesen Text bitte nicht entfernen | Please do not remove this text
In dieser Datei wird dann die IP des Benutzers und die Zeit als Unix-Timestamp beim Versenden einer Mail eingetragen und erst nach der eingestellten Sperrzeit wieder freigegeben. Somit ist eine Massenmail (sekündlich) dann natürlich nicht mehr möglich.
Benutzeravatar
Bushisan
Mitglied (Level 7)
Mitglied (Level 7)
Beiträge: 66
Registriert: So 13. Dez 2020, 21:23
Wohnort: Neukirchen bei Sulzbach-Rosenberg
Kontaktdaten:

Re: Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Bushisan »

Hallo Tommy, mir wurde nicht auf Werners Seite angezeigt - blieb erinfac h nur leer - heute hats funktioniert.

Stelle mich vermutlich megadoof an - ich finde im generierten Code keine Möglichkeit die eigene E-Mailadresse zu hinterlegen - hab schon zigmal durchgeschaut - sehe vermutlich den Wald vor lauter Bäumen nicht.

Code: Alles auswählen

 <?php
/*
   Aktion: Formulardaten nicht speichern.
   Formular - PHP 5.4+, Zeichenkodierung: UTF-8
   Siehe: https://werner-zenk.de/html/schriftzeichen_richtig_darstellen.php

   Erstellt mit dem Formular Generator (13.02.2024) - 
   https://werner-zenk.de/tools/formulargenerator.php

   Bitte testen Sie das Formular ausführlich und
   beachten Sie die Hinweise im Quelltext!
*/

// PHP Fehlermeldungen (1 um das Formular zu testen) anzeigen.
error_reporting(1); // (0/1)

// Floodsperre - Innerhalb der Zeitspanne kann das Formular
// vom selben Benutzer nicht mehrmals gesendet werden.
$Floodsperrzeit = 60; // Sperrzeit in Sekunden

// Datei in der die IP und die Zeit gespeichert werden sollen.
$Flooddatei = "floodsperre.txt"; // Die Datei benötigt Leserechte!
// Herunterladen: https://werner-zenk.de/tools/scripts/fileload.php?datei=floodsperre.txt

$name = isset($_POST["name"]) ? trim($_POST["name"]) : ""; // Name
$email = isset($_POST["email"]) ? trim($_POST["email"]) : ""; // E-Mail
$betreff = isset($_POST["betreff"]) ? trim($_POST["betreff"]) : ""; // Betreff
$nachricht = isset($_POST["nachricht"]) ? trim($_POST["nachricht"]) : ""; // Nachricht

// Floodsperre - IP und Zeit überprüfen
if (file_exists($Flooddatei) && is_readable($Flooddatei)) {
 foreach (file($Flooddatei) as $element) {
  list($Ip, $Zeit) = explode("|", $element);
  if ($Ip == $_SERVER["REMOTE_ADDR"]) {
   if ((floor((time() - $Zeit))) < $Floodsperrzeit) {
    // Meldung und Link ausgeben
    exit("<p>Ihre Nachricht wurde bereits versandt!<br>" .
    "<a href='" . $Weiterleitung . "'>Weiter</a></p>");
   }
  }
 }
}

// Benutzereingaben überprüfen
// Die Meldungen müssen hier eventuell angepasst werden.
$Fehler = ["name"=>"", "email"=>"", "betreff"=>"", "nachricht"=>"", "sicherheit"=>""];
if (isset($_POST["submit_x"])) {
 $Fehler["name"] = strlen($_POST["name"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : "";
 $Fehler["email"] = strlen($_POST["email"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : "";
 $Fehler["betreff"] = strlen($_POST["betreff"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : "";
 $Fehler["betreff"] .= !ctype_alpha($_POST["betreff"]) ? " Geben Sie nur Buchstaben ein!" : ""; // Buchstaben ohne Leerzeichen!
 $Fehler["nachricht"] = strlen($_POST["nachricht"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : "";
 $Fehler["sicherheit"] = (md5($_POST["zip"]) != $_POST["zip2"]) ? "Die Sicherheitsabfrage ist leider falsch!" : "";
}

// Sicherheitsabfrage -  Buchstaben
$Zufall = range("a", "z"); shuffle($Zufall);
$Zufall = substr(implode("", $Zufall), rand(1, 22), 4);
$Ergebnis = md5($Zufall);
$Zufall = substr($Zufall, 0, 2) . "&nbsp;" . substr($Zufall, 2, 2);

// Formular erstellen
$Formular = "
<form action='" . $_SERVER["SCRIPT_NAME"] . "' method='post'>

<p>
 <label> Name:
<span class='pflichtfeld'>&#10034; " . $Fehler["name"] . "</span><br>
  <input type='text' name='name' value='" . $name . "' size='35' tabindex='1'>
 </label>
 <br><span class='hilfetext'> Vorname, Nachname </span>
</p>

<p>
 <label> E-Mail:
<span class='pflichtfeld'>&#10034; " . $Fehler["email"] . "</span><br>
  <input type='text' name='email' value='" . $email . "' size='35' tabindex='2'>
 </label>
 <br><span class='hilfetext'> Gültige E-Mailadresse </span>
</p>

<p>
 <label> Betreff:
<span class='pflichtfeld'>&#10034; " . $Fehler["betreff"] . "</span><br>
  <input type='text' name='betreff' value='" . $betreff . "' size='35' tabindex='3'>
 </label>
 <br><span class='hilfetext'> Min. 3 Zeichen </span>
</p>

<p>
 <label> Nachricht:
<span class='pflichtfeld'>&#10034; " . $Fehler["nachricht"] . "</span><br>
  <input type='text' name='nachricht' value='" . $nachricht . "' size='35' tabindex='4'>
 </label>
 <br><span class='hilfetext'> 3 bis 5000 Zeichen </span>
</p>

<p>
 <label> Sicherheitsabfrage: 
 <span class='pflichtfeld'>&#10034; " . $Fehler["sicherheit"] . "</span><br>
 <em><big>" . $Zufall . "</big></em> = 
 <input type='text' name='zip' size='4' autocomplete='off'>
 </label>
 <input type='hidden' name='zip2' value='" . $Ergebnis . "'>
 <br><span class='hilfetext'> Buchstaben <b>ohne Leerzeichen</b> eintragen. </span><br>
</p>

<p>
 <br>
 <input type='image' src='absenden.png' name='submit' title='Kostenpflichtig betsellen' tabindex='5'>
</p>

<p>
 <small>Bitte alle mit <span class='pflichtfeld'>&#10034;</span>
 markierten Felder ausfüllen.</small>
</p>

</form>
";

// Formular abgesendet
if (isset($_POST["submit_x"])) {

 // Sind keine Benutzer-Eingabefehler vorhanden
 if (implode("", $Fehler) == "") {

  // Floodsperre - IP und Zeit speichern
  if (file_exists($Flooddatei) && is_writeable($Flooddatei)) {
   $Array = array_slice(file($Flooddatei), -10);
   $Fh = fopen($Flooddatei, "w+");
   fputs($Fh, implode("", $Array) . $_SERVER["REMOTE_ADDR"] . "|" . time() . "|\n");
   fclose($Fh);
  }

  echo "<p>Die Daten wurden übertragen.</p>";

  // Liste der Variablen für die weitere Verarbeitung.
  $name; // Name
  $email; // E-Mail
  $betreff; // Betreff
  $nachricht; // Nachricht

 }
 else {

  // Formular und Benutzer-Eingabefehler ausgeben
  echo "<p><span class='pflichtfeld'><strong>Eingabefehler, Bitte korrigieren</strong></span></p>";
  echo $Formular;
 }
}
else {

 // Formular ausgeben
 echo $Formular;
}
?>
Hier hab ich das eingebaut:

https://eigenverlag-oblinger-kerscher.de/index.php

Sorry das ich mich sooooo doof anstelle :(

Gruß Hubert
Es kann nur einen geben - warum bin ich das nicht?
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Tommy Herrmann »

Da fehlt auch jede Menge, wie z.B. das hier:

Code: Alles auswählen

  // Empfänger E-Mail
  // Eine beim Provider registrierte E-Mail Adresse verwenden!
  $Mailto = "name@example.com"; 
Wo hast Du dieses Formular generiert ???

Bitte die URL!

War das auf meiner oder Weners Seite?
Benutzeravatar
Bushisan
Mitglied (Level 7)
Mitglied (Level 7)
Beiträge: 66
Registriert: So 13. Dez 2020, 21:23
Wohnort: Neukirchen bei Sulzbach-Rosenberg
Kontaktdaten:

Re: Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Bushisan »

Es kann nur einen geben - warum bin ich das nicht?
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Tommy Herrmann »

Da fehlt jede Menge Code. Warum das bei Dir passiert ist, weiß ich nicht.

Erstelle das Formular nochmals neu und speichere dann als Datei "kontakt.php" am Button "Herunterladen".

Formular-Code speichern.jpg


Dann gucke nochmals.
Benutzeravatar
Bushisan
Mitglied (Level 7)
Mitglied (Level 7)
Beiträge: 66
Registriert: So 13. Dez 2020, 21:23
Wohnort: Neukirchen bei Sulzbach-Rosenberg
Kontaktdaten:

Re: Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Bushisan »

Mach ich - Danke Dir !!!
Es kann nur einen geben - warum bin ich das nicht?
Benutzeravatar
Bushisan
Mitglied (Level 7)
Mitglied (Level 7)
Beiträge: 66
Registriert: So 13. Dez 2020, 21:23
Wohnort: Neukirchen bei Sulzbach-Rosenberg
Kontaktdaten:

Re: Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Bushisan »

Das hab ich jetzt heruntergeladen:
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<style>
body {
font-family: Verdana, Sans-Serif;
font-size: 1rem;
}

span.pflichtfeld {
font-size: 0.90rem;
color: Red;
}

span.hilfetext {
font-family: Arial, Tahoma, Sans-Serif;
font-size: 0.80rem;
font-style: Oblique;
color: #009500;
}
</style>

</head>
<body>

<?php
/*
Aktion: Formulardaten nicht speichern.
Formular - PHP 5.4+, Zeichenkodierung: UTF-8
Siehe: https://werner-zenk.de/html/schriftzeic ... tellen.php

Erstellt mit dem Formular Generator (13.02.2024) -
https://werner-zenk.de/tools/formulargenerator.php

Bitte testen Sie das Formular ausführlich und
beachten Sie die Hinweise im Quelltext!
*/

// PHP Fehlermeldungen (1 um das Formular zu testen) anzeigen.
error_reporting(1); // (0/1)

// Floodsperre - Innerhalb der Zeitspanne kann das Formular
// vom selben Benutzer nicht mehrmals gesendet werden.
$Floodsperrzeit = 60; // Sperrzeit in Sekunden

// Datei in der die IP und die Zeit gespeichert werden sollen.
$Flooddatei = "floodsperre.txt"; // Die Datei benötigt Leserechte!
// Herunterladen: https://werner-zenk.de/tools/scripts/fi ... sperre.txt

$name = isset($_POST["name"]) ? trim($_POST["name"]) : ""; // Name
$email = isset($_POST["email"]) ? trim($_POST["email"]) : ""; // E-Mail
$betreff = isset($_POST["betreff"]) ? trim($_POST["betreff"]) : ""; // Betreff
$nachricht = isset($_POST["nachricht"]) ? trim($_POST["nachricht"]) : ""; // Nachricht

// Floodsperre - IP und Zeit überprüfen
if (file_exists($Flooddatei) && is_readable($Flooddatei)) {
foreach (file($Flooddatei) as $element) {
list($Ip, $Zeit) = explode("|", $element);
if ($Ip == $_SERVER["REMOTE_ADDR"]) {
if ((floor((time() - $Zeit))) < $Floodsperrzeit) {
// Meldung und Link ausgeben
exit("<p>Ihre Nachricht wurde bereits versandt!<br>" .
"<a href='" . $Weiterleitung . "'>Weiter</a></p>");
}
}
}
}

// Benutzereingaben überprüfen
// Die Meldungen müssen hier eventuell angepasst werden.
$Fehler = ["name"=>"", "email"=>"", "betreff"=>"", "nachricht"=>"", "sicherheit"=>""];
if (isset($_POST["submit_x"])) {
$Fehler["name"] = strlen($_POST["name"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : "";
$Fehler["email"] = strlen($_POST["email"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : "";
$Fehler["betreff"] = strlen($_POST["betreff"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : "";
$Fehler["betreff"] .= !ctype_alpha($_POST["betreff"]) ? " Geben Sie nur Buchstaben ein!" : ""; // Buchstaben ohne Leerzeichen!
$Fehler["nachricht"] = strlen($_POST["nachricht"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : "";
$Fehler["sicherheit"] = (md5($_POST["zip"]) != $_POST["zip2"]) ? "Die Sicherheitsabfrage ist leider falsch!" : "";
}

// Sicherheitsabfrage - Buchstaben
$Zufall = range("a", "z"); shuffle($Zufall);
$Zufall = substr(implode("", $Zufall), rand(1, 22), 4);
$Ergebnis = md5($Zufall);
$Zufall = substr($Zufall, 0, 2) . "&nbsp;" . substr($Zufall, 2, 2);

// Formular erstellen
$Formular = "
<form action='" . $_SERVER["SCRIPT_NAME"] . "' method='post'>

<p>
<label> Name:
<span class='pflichtfeld'>&#10034; " . $Fehler["name"] . "</span><br>
<input type='text' name='name' value='" . $name . "' size='35' tabindex='1'>
</label>
<br><span class='hilfetext'> Vorname, Nachname </span>
</p>

<p>
<label> E-Mail:
<span class='pflichtfeld'>&#10034; " . $Fehler["email"] . "</span><br>
<input type='text' name='email' value='" . $email . "' size='35' tabindex='2'>
</label>
<br><span class='hilfetext'> Gültige E-Mailadresse </span>
</p>

<p>
<label> Betreff:
<span class='pflichtfeld'>&#10034; " . $Fehler["betreff"] . "</span><br>
<input type='text' name='betreff' value='" . $betreff . "' size='35' tabindex='3'>
</label>
<br><span class='hilfetext'> Min. 3 Zeichen </span>
</p>

<p>
<label> Nachricht:
<span class='pflichtfeld'>&#10034; " . $Fehler["nachricht"] . "</span><br>
<input type='text' name='nachricht' value='" . $nachricht . "' size='35' tabindex='4'>
</label>
<br><span class='hilfetext'> 3 bis 5000 Zeichen </span>
</p>

<p>
<label> Sicherheitsabfrage:
<span class='pflichtfeld'>&#10034; " . $Fehler["sicherheit"] . "</span><br>
<em><big>" . $Zufall . "</big></em> =
<input type='text' name='zip' size='4' autocomplete='off'>
</label>
<input type='hidden' name='zip2' value='" . $Ergebnis . "'>
<br><span class='hilfetext'> Buchstaben <b>ohne Leerzeichen</b> eintragen. </span><br>
</p>

<p>
<br>
<input type='image' src='absenden.png' name='submit' title='Kostenpflichtig betsellen' tabindex='5'>
</p>

<p>
<small>Bitte alle mit <span class='pflichtfeld'>&#10034;</span>
markierten Felder ausfüllen.</small>
</p>

</form>
";

// Formular abgesendet
if (isset($_POST["submit_x"])) {

// Sind keine Benutzer-Eingabefehler vorhanden
if (implode("", $Fehler) == "") {

// Floodsperre - IP und Zeit speichern
if (file_exists($Flooddatei) && is_writeable($Flooddatei)) {
$Array = array_slice(file($Flooddatei), -10);
$Fh = fopen($Flooddatei, "w+");
fputs($Fh, implode("", $Array) . $_SERVER["REMOTE_ADDR"] . "|" . time() . "|\n");
fclose($Fh);
}

echo "<p>Die Daten wurden übertragen.</p>";

// Liste der Variablen für die weitere Verarbeitung.
$name; // Name
$email; // E-Mail
$betreff; // Betreff
$nachricht; // Nachricht

}
else {

// Formular und Benutzer-Eingabefehler ausgeben
echo "<p><span class='pflichtfeld'><strong>Eingabefehler, Bitte korrigieren</strong></span></p>";
echo $Formular;
}
}
else {

// Formular ausgeben
echo $Formular;
}
?>

</body>
</html>
Es kann nur einen geben - warum bin ich das nicht?
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Mailscript funtioniert nicht mehr

Ungelesener Beitrag von Tommy Herrmann »

Da fehlt der gesamte Mail-Teil. Keine Ahnung - wenn ich das hier an Werners Generator mache, dann stimmt alles :eek:

Versuche es mal an meinem Generator:

https://www.mobirise-tutorials.com/Formular-Generator/


Ich schreibe gleich mal an Werner und bitte um seine Hilfe. Ich weiß aber nicht, wann und ob er das liest.
Antworten

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 111 Gäste