Häufig gestellte Fragen


Sollte Ihre Frage nicht aufgeführt sein, können Sie uns gerne kontaktieren.



Grundsätzliche Probleme


1. Überprüfen Sie, ob Sie in die Datei config.php eine korrekte E-Mail Adresse eingetragen haben. (trifft nur zu, wenn Sie über die Datei kontakt.php keine Mail erhalten) Hinweis: Es kann durchaus sein, dass Mails über die Datei kontakt.php zugestellt werden - nicht aber über die Datei test.php. Vervollständigen Sie daher die config.php mit Ihrer E-Mail Adresse - siehe Installationsanleitung.

1.1 Nutzen Sie für den Test eine Domain-eigene E-Mail Adresse, in der Form: info@ihre-domain.com. Einige Hosting-Anbieter blockieren leider externe Mailanbieter, wie bspw. Yahoo, GMX, Gmail, WEB.DE oder T-Online. Dies ist zwar noch nicht bei allen Hosting-Anbietern der Fall, wird aber leider im Jahre 2023 zunehmen.

Auch beim Test mit einer Domain-eigenen E-Mail Adresse beachten: Nutzen Sie für den Test zum einen die Datei test.php, als auch die Datei kontakt.php (← vorher Ihre E-Mail Adresse in die Datei config.php eintragen! Die Datei config.php muss mit einem Editor geöffnet werden.)

2. Einige Hosting Anbieter (z.B. Strato, Hosteurope, 1und1 [IONOS]) setzen voraus, dass die entsprechende E-Mail Adresse (welche Sie für die test.php nutzen oder welche in der Datei config.php eingetragen ist), auch im Kundenbereich / Kundencontrolcenter hinterlegt ist. Bitte kontaktieren Sie den Support Ihres Hosting Anbieters.

Nebenbei: Beachten Sie auch diese Informationen, falls Sie ein Kunde bei Strato, Hosteurope oder 1und1 (IONOS) sind! (← Eventuell sind die Infos auch für weitere Hosting Provider relevant!)

Der konkrete Grund: Das "Problem" ist, dass diese Hosting Anbieter SPF (Sender Policy Framework) auf Ihrem Mailserver nutzen. SPF soll dazu beitragen, Absenderadressfälschungen zu verhindern und Spam zu bekämpfen. Konkret dient SPF also der Sender-Authentifizierung. Deshalb ist es bei diesen Hosting Anbietern notwendig, die verwendete E-Mail Adresse im entsprechenden Kundencontrolcenter zu verifizieren.

3. E-Mails an Yahoo, iCloud, Hotmail, AOL und ggf. weitere E-Mail Provider werden nicht zugestellt? Lesen Sie die Lösung(en) auf dieser Seite! Hier wird Ihnen sowohl eine Lösung für die Absender-, als auch für die Empfänger Adresse beschrieben! Hinweis: E-Mails über das Testformular (test.php) werden unter Umständen zugestellt, da die Absender-Adresse (no-reply@kontaktformular.com) hier festgelegt wurde. Das erfolgreiche Senden der Test-Mail steht also nicht zwingend im Zusammenhang mit dem fehlerhaften Versand einer Mail über das Kontaktformular (kontakt.php). Info: Yahoo Nutzer erhalten in der Regel diese Fehlermeldungen: "failed: yahoo.de: 554 Message not allowed - Headers are not RFC compliant[291]" und "Email rejected per DMARC policy for yahoo.de". Beheben Sie den Fehler, indem Sie die Lösung (= Reply-To-Header definieren) unter dem genannten Link umsetzen!

4. Lokaler Webserver (http://localhost ): Testen Sie die PHP Mail Funktion bitte grundsätzlich auf dem Server eines renommierten Hosting Anbieters. Bei lokalen Webservern (z.B. Xampp) ist häufig kein Mailserver installiert. Oftmals ist dieser auch falsch konfiguriert, wodurch die PHP Mail Funktion nicht korrekt angesprochen wird.

5. Vergewissern Sie sich, ob die PHP Funktion "mail" tatächlich auf Ihrem Server installiert wurde, indem Sie Ihren Hosting Anbieter kontaktieren. Sollte Ihr Hosting Anbieter diese Funktion nicht zulassen, so nutzen Sie SMTP. (beachten Sie in diesem Zusammenhang ggf. auch den Hinweis unter Punkt 6.) Der anschließende Test der SMTP Funktion kann nur über das Kontaktformular (kontakt.php) durchgeführt werden. (die Datei test.php dient nur zur Überprüfung der PHP Funktion "mail") Tragen Sie also Ihre E-Mail Adresse und Ihren (Firmen)Namen in die Datei config.php ein. (Zeile 3 und Zeile 5 - siehe Installationsanleitung)

Zusätzliche Info: Wie unter Punkt 2 beschrieben setzen einige Hosting-Anbieter (z.B. Strato, Hosteurope, 1und1 [IONOS]) voraus, dass die verwendete E-Mail Adresse (welche Sie für die test.php nutzen oder welche in der Datei config.php eingetragen ist), auch im entsprechenden Kundenbereich angelegt ist. Kontaktieren Sie ggf. den Support.

6. Einige E-Mail Anbieter (z.B. Yahoo) empfangen nur E-Mails, die über ihren eigenen Mailserver übermittelt werden. Da diese Anbieter die PHP Funktion mail() als unsicher einstufen, ist es notwendig SMTP zu aktivieren. Sie benötigen in diesem Fall die SMTP Daten des entsprechenden E-Mail Anbieter. Wichtig: Bitte erkundigen Sie sich bei Ihrem Hosting-Anbieter, ob dieser eine SMTP Verbindung zu externen E-Mail Anbietern zulässt. (oftmals wird SMTP zu externen Mailservern verweigert) Setzen Sie außerdem die Lösung auf dieser Seite um!

Die SMTP Details der E-Mail Anbieter Yahoo, Gmail und GMX finden Sie hier. Info: Für GMX und Gmail sollte die PHP Mail Funktion allerdings kein Problem darstellen. (Stand: 08/19)

7. Überprüfen Sie, ob ein externen Spamfilter (innerhalb Ihrer Servereinstellungen) aktiv ist. Sollten Sie sich dbzgl. nicht sicher sein, kontaktieren Sie bitte Ihren Hosting-Anbieter.

8. Überprüfen Sie, ob die E-Mail in Ihrem E-Mail Programm (z.B. Outlook) als Spam deklariert wurde. Info: Bei der Test-Mail (test.php) lautet der Absender "no-reply@kontaktformular.com". Bei bestimmten Spamfilter Einstellungen wird das Wort "no-reply" automatisch als Spam deklariert!

9. Sofern Sie ein Kunde bei Strato oder Hosteurope sind, beachten Sie bitte diese Information.


Vorab: Bitte testen Sie das Kontaktformular nochmals im Ausgangszustand (OHNE etwaige Anpassungen in der kontakt.php). Somit kann der Fehler bereits eingegrenzt werden.

Zu den potentiellen vier Ursachen:

Ursache #1: Sie haben die Datei kontakt.php bearbeitet (z.B. weil Sie neue Felder eingefügt haben) und infolgedessen den PHP Code entsprechend verändert. Vergewissern Sie sich, ob Sie auch die Standard-Pflichtfelder im PHP Code entfernt haben, indem Sie unter "// clean data" und unter "// formcheck" etwaige noch vorhandene Variablen löschen.

Ursache #2: Die HTML Seite, in welche das Kontaktformular (via IFrame oder PHP Include) eingebunden ist, beinhaltet Javascript Code oder Link-Elemente zu Javascript Dateien. Dieser kann u.U. einen Konflikt mit dem Javascript Code aus dem Kontaktformular verursachen. Wir empfehlen, den Javascript Code oder entsprechende Link-Elemente nach und nach zu entfernen, bis Sie festgestellt haben, welcher Javascript Code ursächlich für den Fehler infrage kommt.

Ursache #3: Lokaler Webserver (http://localhost ): Testen Sie das Kontaktformular grundsätzlich auf dem Server eines renommierten Hosting Anbieters. Bei lokalen Webservern (z.B. Xampp) funktioniert der Mailserver häufig (per Standardeinstellung) nicht.

Ursache #4: Sie nutzen das Kontaktformular, welches bis zum 31.12.2020 angeboten wurde und haben in diesem Zusammenhang die SMTP Funktion aktiviert. Da die Fehlerausgabe bei einer fehlgeschlagenen SMTP Verbindung noch nicht vorhanden war, konnte es hierdurch zu Irritationen kommen. Unser Tipp: Upgraden Sie das Kontaktformular und laden die aktuelle Version unter Download herunter.


Ursache #1: Auf Ihrem Webserver läuft PHP 8.* und Sie nutzen noch eine alte Version des Kontaktformular Scripts. Überschreiben Sie alle Dateien mit den Dateien aus dem aktuellen zip Archiv. Info: Das Kontaktformular ist seit November 2020 PHP 8 kompatibel.

Ursache #2: Überprüfen Sie, ob alle Dateien und Verzeichnisse aus dem zip Archiv auf Ihren Webserver hochgeladen wurden. Die Verzeichnisstruktur muss erhalten bleiben. Siehe Screenshot.

Ursache #3: Achten Sie darauf, dass alle Dateien im Transfermodus "Binär" auf Ihren Webserver übertragen werden. Wir empfehlen für den Upload der Dateien das kostenlose FTP Programm Total Commander. Es besticht durch eine einfache und übersichtliche Handhabung.

Ursache #4: Öffnen Sie die Datei phpinfo.php (im zip Archiv enthalten) in Ihrem Browser und überprüfen Sie, ob auf Ihrem Webserver mind. PHP 7.4 (oder höher) aktiviert ist. Das Kontaktformular ist mit früheren PHP Versionen (PHP 4.*, PHP 5.*) nicht mehr kompatibel. Wir empfehlen grundsätzlich die aktuelle PHP Version (PHP 8.*) zu nutzen.

Ursache #5: Überprüfen Sie, ob in der Datei config.php die E-Mail Adresse sowie der Empfänger-Name korrekt zwischen den Anführungszeichen definiert wurde.

Ursache #6: Falls Sie ein Mac-Nutzer sind, empfehlen wir für das Bearbeiten der Dateien den HTML Editor Brackets. Der mac-eigene Editor ist für das Bearbeiten der Dateien nicht geeignet, da dieser den Zeichensatz der Dateien u.U. fehlerhaft umschreibt.




Wenn das Kontaktformular nicht geladen wird und stattdessen der reine PHP/HTML Code im Browser erscheint, so ist PHP auf Ihrem Server bzw. Ihrer Domain nicht installiert. PHP ist für den Betrieb des Kontaktformulars zwingend notwendig. Updaten Sie also auf ein Webhosting Paket mit PHP Unterstützung.




Probleme mit dem Sicherheitscode (Captcha)


Lesen Sie hierzu den Abschnitt in der Installationsanleitung: Der Sicherheitscode wird nicht angezeigt?!.

Wird der Sicherheitscode von heute auf morgen nicht mehr angezeigt? Auch dann bitten wir Sie die Anleitung unter Installation zu lesen! Der konkrete Grund: Wenn die Grafik plötzlich nicht mehr erscheint, liegt dies an einem Update der php.ini. Beispielsweise könnte Ihr Host ein Update der GD Library oder einer verwandten Bibliothek durchgeführt haben. Es bietet sich hier an, den Pfad in der captcha.php entsprechend der Anleitung unter Installation zu ändern.

Tipp: Nutzen Sie ggf. auch die sechs weiteren Spamschutz-Optionen. Die Optionen können Sie in der Datei config.php aktivieren/deaktivieren. Hinweis: Updaten Sie ggf. das Kontaktformular, da die Spamschutz-Optionen erst seit März 2019 verfügbar sind.


Ursache #1: Die HTML Seite, in welche das Kontaktformular (via IFrame oder PHP Include) eingebunden ist, beinhaltet Javascript Code oder Link-Elemente zu Javascript Dateien. Dieser kann u.U. einen Konflikt mit dem Javascript Code aus dem Kontaktformular verursachen. Wir empfehlen, den Javascript Code oder entsprechende Link-Elemente nach und nach zu entfernen, bis Sie festgestellt haben, welcher Javascript Code ursächlich für den Fehler infrage kommt.

Ursache #2: Sie haben die Datei kontakt.php bearbeitet (z.B. weil Sie neue Felder eingefügt haben) und infolgedessen den PHP Code entsprechend verändert. Vergewissern Sie sich, ob Sie auch die Standard-Pflichtfelder im PHP Code entfernt haben, indem Sie unter "// clean data" und unter "// formcheck" etwaige noch vorhandene Variablen löschen.

Ursache #3: Lokaler Webserver (http://localhost ): Testen Sie das Kontaktformular grundsätzlich auf dem Server eines renommierten Hosting Anbieters. Bei lokalen Webservern (z.B. Xampp) funktioniert der Mailserver häufig (per Standardeinstellung) nicht.

Ursache #4: Überprüfen Sie, ob in Ihrem Browser die Cookies aktiviert sind. Die Cookies sind standardmäßig in jedem modernen Browser aktiviert, denn ohne diese Einstellung würde eine Vielzahl der Webseiten nicht korrekt funktionieren. Sofern Sie den Spamschutz ohne Cookies nutzen möchten, steht Ihnen als Alternative das Kontaktformular mit Sicherheitsfrage zur Verfügung. (ebenfalls unter Download erhältlich)

Ursache #5: Sie nutzen das Kontaktformular, welches bis zum 31.12.2020 angeboten wurde und haben in diesem Zusammenhang die SMTP Funktion aktiviert. Da die Fehlerausgabe bei einer fehlgeschlagenen SMTP Verbindung noch nicht vorhanden war, konnte es hierdurch zu Irritationen kommen. Unser Tipp: Upgraden Sie das Kontaktformular und laden die aktuelle Version unter Download herunter.

Ursache #6: Überprüfen Sie, ob Sie in der Datei config.php die E-Mail Adresse und den Empfänger Namen korrekt zwischen den Anführungszeichen eingetragen haben.

Ursache #7: Der Fehler kann auch durch eine fehlerhafte PHP Konfiguration hervorgerufen werden. Vergewissern Sie sich, ob "Sessions" innerhalb der PHP Konfiguration (php.ini) korrekt definiert sind, indem Sie Ihren Hosting-Anbieter kontaktieren. Die korrekten Einstellungen entnehmen Sie diesem Screenshot. Um die PHP Konfiguration Ihres Webservers einzusehen, öffnen Sie die Datei phpinfo.php im Browser. (im Download Archiv enthalten)


Ursache #1: Die HTML Seite, in welche das Kontaktformular (via IFrame oder PHP Include) eingebunden ist, beinhaltet Javascript Code oder Link-Elemente zu Javascript Dateien. Dieser kann u.U. einen Konflikt mit dem Javascript Code aus dem Kontaktformular verursachen. Wir empfehlen, den Javascript Code oder entsprechende Link-Elemente nach und nach zu entfernen, bis Sie festgestellt haben, welcher Javascript Code ursächlich für den Fehler infrage kommt.

Ursache #2: Sie haben die Datei kontakt.php bearbeitet (z.B. weil Sie neue Felder eingefügt haben) und infolgedessen den PHP Code entsprechend verändert. Vergewissern Sie sich, ob Sie auch die Standard-Pflichtfelder im PHP Code entfernt haben, indem Sie unter "// clean data" und unter "// formcheck" etwaige noch vorhandene Variablen löschen.

Ursache #3: Lokaler Webserver (http://localhost ): Testen Sie das Kontaktformular grundsätzlich auf dem Server eines renommierten Hosting Anbieters. Bei lokalen Webservern (z.B. Xampp) funktioniert der Mailserver häufig (per Standardeinstellung) nicht.

Ursache #4: Überprüfen Sie, ob in Ihrem Browser die Cookies aktiviert sind. Die Cookies sind standardmäßig in jedem modernen Browser aktiviert, denn ohne diese Einstellung würde eine Vielzahl der Webseiten nicht korrekt funktionieren. Sofern Sie den Spamschutz ohne Cookies nutzen möchten, steht Ihnen als Alternative das Kontaktformular mit Sicherheitsfrage zur Verfügung. (ebenfalls unter Download erhältlich)

Ursache #5: Sie nutzen das Kontaktformular, welches bis zum 31.12.2020 angeboten wurde und haben in diesem Zusammenhang die SMTP Funktion aktiviert. Da die Fehlerausgabe bei einer fehlgeschlagenen SMTP Verbindung noch nicht vorhanden war, konnte es hierdurch zu Irritationen kommen. Unser Tipp: Upgraden Sie das Kontaktformular und laden die aktuelle Version unter Download herunter.

Ursache #6: Überprüfen Sie, ob Sie in der Datei config.php die E-Mail Adresse und den Empfänger Namen korrekt zwischen den Anführungszeichen eingetragen haben.

Ursache #7: Der Fehler kann auch durch eine fehlerhafte PHP Konfiguration hervorgerufen werden. Vergewissern Sie sich, ob "Sessions" innerhalb der PHP Konfiguration (php.ini) korrekt definiert sind, indem Sie Ihren Hosting-Anbieter kontaktieren. Die korrekten Einstellungen entnehmen Sie diesem Screenshot. Um die PHP Konfiguration Ihres Webservers einzusehen, öffnen Sie die Datei phpinfo.php im Browser. (im Download Archiv enthalten)




Probleme mit Spam


Die E-Mails werden in der Regel nur dann als Spam markiert, wenn diese gewisse Kriterien bzw. Merkmale erfüllen.

Beispiel: Sie möchten das Kontaktformular lediglich testen und nutzen für den Mailinhalt nur sehr wenig Text. Evtl. haben Sie auch zusammenhangslosen Text geschrieben oder lediglich einzelne Wörter. Versehen Sie die Betreffzeile nun zusätzlich mit dem Wort "Test", so kann es durchaus sein, dass der Spamfilter Ihres E-Mail Anbieters anschlägt.

Da die Vertrauenswürdigkeit einer solchen E-Mail nicht hoch ist, wird diese folglich als Spam deklariert. Vor allem die Spamfilter von Freemail Anbietern, wie GMX.de und WEB.de sind im Erkennen von "unsicheren" E-Mails sehr gut.

Tipps:
1. Verfassen Sie eine "Test-Mail" mit sinnvollem Inhalt und einer normalen Betreffzeile!
2. Nutzen Sie eine echte(!) Absender E-Mail Adresse im Kontaktformular!
3. Nutzen Sie für eine "Test-Mail" keinen VPN Anbieter, da entsprechende IPs oftmals auf Blacklisten stehen!


In seltenen Fällen kann es vorkommen, dass über das Kontaktformular Spam versendet wird. Wir empfehlen in diesem Fall die Spamschutz-Optionen zu aktivieren. Die Optionen können Sie bequem über die Datei config.php konfigurieren. (siehe Installationsanleitung)

Hinweis: Wenn Sie das Captcha "Sicherheitsfrage" verwenden möchten, haben Sie die Möglichkeit, eigene Fragen und Antworten zu formulieren. Befolgen Sie in diesem Fall diese Anleitung:

Öffnen Sie hierzu die Datei AntiSpam.php mit einem Editor (Empfehlung Windows: Notepad2; Empfehlung MacOS: Brackets). Hier können Sie die einzelnen Fragen und Antworten löschen, editieren oder neue hinzufügen. Achten Sie beim Hinzufügen auf die fortlaufende Nr. sowie auf das Komma beim vorletzten Eintrag! (nach der schließenden Klammer)
Bsp.: 6 => array("Was ergibt 12 plus 1?",13),

Wichtig: Die Antworten dürfen mit den Antworten der Standard-Sicherheitsfragen nicht identisch sein. Die Antworten können auch Umlaute enthalten.

Beispiele für Sicherheitsfragen:

Welche Farbe hat Gras?
Antwort: grün

Tippen Sie dieses Wort ab: rot
Antwort: rot

Welcher Buchstabe fehlt hier: Empfehlng
Antwort: u

Welcher Buchstabe fehlt hier: Telefn
Antwort: o

Wenn es regnet wird es...?
Antwort: nass

Die vorangegangenen Beispielfragen können hier in Form einer neuen Antispam-Datei heruntergeladen werden. Ersetzen Sie die bisherige Datei mit der aktualisierten Datei "AntiSpam.php" auf Ihrem Webserver.






Probleme mit der Darstellung


Vorab: Bitte testen Sie das Kontaktformular nochmals im Ausgangszustand (OHNE etwaige Anpassungen in der kontakt.php). Somit kann der Fehler bereits eingegrenzt werden.

Zu den potentiellen vier Ursachen:

Ursache #1: Sie haben in der Datei kontakt.php das meta-tag <meta charset="utf-8"> verändert und statt "utf-8" beispielsweise "iso-8859-1" eingefügt. Durch das anschließende Speichern der Datei hat der HTML Editor die Datei auch in diesem Format gespeichert. Lösung: Nutzen Sie für eine Anpassung wieder die ursprüngliche kontakt.php. Das meta-Tag <meta charset="utf-8"> belassen Sie nun im Ausgangszustand.

Ursache #2: Sie haben die Datei kontakt.php im HTML Editor in dem Format "UTF-8 with BOM" bzw. "UTF-8 with Signature" gespeichert und infolgedessen entsprechend kodiert. Lösung: Nutzen Sie für eine Anpassung wieder die ursprüngliche kontakt.php. Speichern Sie die Datei nun ganz normal ab. (in der Regel ohne(!) Auswahl einer Kodierung) ANSI ist bspw. unter Notepad2 die (korrekte) Standard-Kodierung.

Ursache #3: Die Umlaute werden auch dann nicht korrekt dargestellt, wenn das Kontaktformular via PHP Include eingebunden wurde und Ihre Website nicht den Zeichensatz "utf-8" verwendet. Viele Webseiten nutzen beispielsweise noch den veralteten Zeichensatz "iso-8859-1". UTF-8 (Unicode Transformation Format) ist der geläufigste Zeichensatz und sollte auf allen Webseiten als Standard genutzt werden. Es ist demzufolge wichtig, den Zeichensatz (charset) in der einzubindenen Seite in "utf-8" zu ändern. Beispiel für das meta-tag: <meta charset="utf-8">

Ursache #4: Der FTP Upload der Dateien wurde mit einem falschen Transfermodus durchgeführt. Achten Sie darauf, dass alle Dateien im Transfermodus "Binär" auf Ihren Webserver übertragen werden. Wir empfehlen für den Upload der Dateien das kostenlose FTP Programm Total Commander. Es besticht durch eine einfache und übersichtliche Handhabung.


Im Firefox-Browser sind nachträgliche Änderungen im CSS Code nicht sofort sichtbar, sofern Sie das Kontaktformular (kontakt.php) bereits im ursprünglichen Zustand aufgerufen haben.

Nebenbei: Die Besucher Ihrer Website, die das Kontaktformular erstmalig NACH der Änderung aufrufen, sehen natürlich die aktuelle Version des Stylesheets!

Ein simples Aktualisieren der Seite bringt hier leider auch keinen Erfolg. Dies liegt daran, dass Firefox das "Cache-System" im Jahre 2020 optimiert hat. Ziel ist es, dem Benutzer kürzere Ladezeiten zu ermöglichen. Das erneute Laden des Stylesheets (CSS) wird daher beim Aufruf einer Website nicht mehr ständig durchgeführt. Auch dann nicht, wenn es sich u.U. kurzfristig geändert haben könnte.

Tipp: Nutzen Sie Google Chrome oder erstellen Sie jeweils ein neues Verzeichnis für geänderte Dateien. Dann sind Änderungen sofort im Browser ersichtlich.


Normalerweise wird dem Besucher, nach dem erfolgreichen Versand der eingegebenen Daten, die Danke Seite (danke.php) angezeigt. Sollte stattdessen eine weiße bzw. leere Seite dargestellt werden, so liegt hier der Fehler lokal in den Browsereinstellungen. Die Weiterleitung zur Danke Seite erfolgt über das HTML tag meta-refresh, welches standardmäßig von allen Browsern unterstützt wird. Aufgrund bestimmter Tools oder Erweiterungen kann es jedoch vorkommen, dass die Funktion "meta-refresh" im Browser geblockt wird. Dies stellt allerdings eine Ausnahme dar und ist nicht die Regel!
Unabhängig davon, wird die Mail natürlich trotzdem an Sie versendet.

Bitte gehen Sie wie folgt vor, sofern Sie den Browser Mozilla Firefox verwenden:
Geben Sie in die Adresszeile "about:config" ein und bestätigen Sie mit "Ich werde vorsichtig sein, versprochen!". Suchen Sie nun nach "blockautorefresh". Hier muss die Einstellung auf "false" gesetzt sein. Bisher ist lediglich Firefox im Zusammenhang mit diesem Problem in Erscheinung getreten. In den Browsern Google Chrome, Internet Explorer, Opera und Safari wurden bisher keine Auffälligkeiten verzeichnet.




Technische Fragen


Nutzen Sie hierfür unser Tutorial. Mit diesem ist es möglich, weitere Input-Felder, Checkboxen oder Select-Boxen hinzuzufügen und somit ein individuelles Kontaktformular zu erstellen. Anhand der Dokumentation können Sie sich schnell einen Überblick verschaffen, sodass auch das Entfernen von Feldern in wenigen Schritten möglich ist.


Vorab: Der PHP Code ist bei allen Templates identisch. Lediglich der entsprechende HTML Code muss von Ihnen - je nachdem, welches Template Sie nutzen - selbstständig entfernt werden. Alternativ können Sie auch die Tutorial Seite von dem entsprechenden Template öffnen. Auf dieser finden Sie eine konkrete Anleitung für den zu ändernden HTML Code.

Wir orientieren uns in diesem Beispiel an "Template 1":

Öffnen Sie die Datei kontakt.php und ersetzen Sie die folgende Zeile unter // clean data:

$betreff   	= stripslashes($_POST["betreff"]);


Mit dieser Zeile (in welcher Sie den individuellen Betreff festlegen können):

$betreff		= "E-Mail über Kontaktformular";


Entfernen Sie nun die folgenden Zeilen in der Datei kontakt.php unter // formcheck:

if(!$betreff) {
$fehler['betreff'] = "<span class='errormsg'>Geben Sie bitte einen <strong>Betreff</strong> ein.</span>";
}


sowie unter // ---- create mail-message for admin:

$mailcontent .= "\nBetreff: " . $betreff . "\n";


sowie unter // ---- create mail-message for customer:

$mailcontent .= "\nBetreff: " . $betreff . "\n";


sowie im HTML Code:

<div class="row">
<div class="col-sm-8 <?php if ($fehler["betreff"] != "") { echo 'error'; } ?> <?php echo (isset($_POST['betreff']) && ''!=$_POST['betreff'] ? 'not-empty-field ' : ''); ?>">
<label class="control-label" for="border-right8"><i id="subject-icon" class="fa fa-edit"></i></label>
<input <?php if($cfg['HTML5_FEHLERMELDUNGEN']) { ?> required style="box-shadow: 0 0 1px rgba(0,0,0, .4);" <?php }else{ ?> onchange="checkField(this)" <?php } ?> aria-label="Betreff" type="text" name="betreff" class="field" placeholder="Betreff *" value="<?php echo $_POST['betreff']; ?>" maxlength="<?php echo $zeichenlaenge_betreff; ?>" id="border-right8" onclick="setActive(this);" onfocus="setActive(this);"/>
<?php if ($fehler["betreff"] != "") { echo $fehler["betreff"]; } ?>
</div>
</div>


Ersetzen Sie außerdem die folgende Zeile unter // ---- create mail-message for admin UND unter // ---- create mail-message for customer:



$mailcontent .= "Telefon: " . $telefon . "\n";


Mit dieser:

$mailcontent .= "Telefon: " . $telefon . "\n\n";


Fertig!




Fügen Sie in die Datei config.php vor $empfaenger den folgenden Code ein:

$blindkopie_empfaenger = "blindkopie@email.de";  // Tragen Sie hier die BCC E-Mail Adresse ein. (zwischen den Anführungszeichen)

$blindkopie_name = "BCC Empfänger";  // Tragen Sie hier den BCC Empfänger ein. (zwischen den Anführungszeichen)


Kopieren Sie in der Datei kontakt.php den folgenden Codeabschnitt, welcher bei Ihnen - je nachdem, welche Version Sie nutzen - minimal abweichen kann:



// ---- send mail to admin
        if($smtp['enabled'] !== 0) {
            require_once __DIR__ . '/smtp.php';
            $success = SMTP::send(
                $smtp['host'],
                $smtp['user'],
                $smtp['password'],
                $smtp['encryption'],
                $smtp['port'],
                $email,
                $ihrname,
                $empfaenger,
                $betreff,
                $mailcontent,
                (2==$cfg['UPLOAD_ACTIVE'] ? array() : $uploadedFiles),
                $cfg['UPLOAD_FOLDER'],
                $smtp['debug']
            );
        } else {
            $success = sendMyMail($email, $vorname." ".$name, $empfaenger, $betreff, $mailcontent, $attachments);
        }


Anschließend fügen Sie die Kopie des Codeabschnittes direkt darunter ein und ändern den Kommentar in:


// ---- send mail to bcc admin



Nun überschreiben Sie lediglich die folgenden Variablen:


$ihrname,

in

$blindkopie_name,


$empfaenger,

in

$blindkopie_empfaenger,

(unter

$success = SMTP::send( ...

)

$empfaenger,

in

$blindkopie_empfaenger,

(unter

else { $success = sendMyMail($email, ...

)


Nutzen Sie gerne unser responsives iFrame mit automatischer Höhenanpassung. Wir empfehlen Ihnen außerdem für die Danke-Seite dieses Framebrecher Script zu nutzen.


Wenn die Danke-Seite nicht innerhalb des iFrame angezeigt werden soll, so empfiehlt sich der Einsatz eines sogenannten Framebrecher Script.

Nutzen Sie diesen JavaScript Code!

Hinweis: Wir empfehlen Ihnen das Framebrecher Script für die Danke-Seite einzusetzen, sofern Sie unser responsive iFrame nutzen!




Allgemeine Fragen (Designänderungen, HTML Code)


Template 1 - 13
Öffnen Sie die Datei style-kontaktformular.css mit einem Editor (Empfehlung Windows: Notepad2; Empfehlung MacOS: Brackets) und suchen Sie nach:

background-color: #FFFFFF;


Hier können Sie den HTML Farbcode (FFFFFF) ändern. Wenn Sie den Hintergrund transparent setzen möchten, so tragen Sie einfach statt einem Farbcode den Wert "transparent" ein. Also: background-color: transparent;




Nutzen Sie hierfür das Tutorial des entsprechenden Templates. Die Tutorials finden Sie auf dieser Seite. (etwas runterscrollen)


Kontaktformular Template 1
Öffnen Sie die Datei style-kontaktformular.css mit einem Editor und suchen Sie nach:

width: 600px;

Hier können Sie die Breite (width: 600px;) ändern. Hinweis: Da unser Kontaktformular ein Responsive Design besitzt, passt sich die Breite bei einer niedrigen Auflösung (Smartphones, Tablets) automatisch an. (max-width: 655px)



Kontaktformular Template 2 und 3
Öffnen Sie die Datei style-kontaktformular.css mit einem Editor und suchen Sie nach:


width: 520px;

Hier können Sie die Breite (width: 520px;) ändern. Hinweis: Da unser Kontaktformular ein Responsive Design besitzt, passt sich die Breite bei einer niedrigen Auflösung (Smartphones, Tablets) automatisch an. (max-width: 655px)



Kontaktformular Template 4, 5, 6 und 7
Öffnen Sie die Datei style-kontaktformular.css mit einem Editor und suchen Sie nach:


width: 600px;

Hier können Sie die Breite (width: 600px;) ändern. Hinweis: Da unser Kontaktformular ein Responsive Design besitzt, passt sich die Breite bei einer niedrigen Auflösung (Smartphones, Tablets) automatisch an. (max-width: 655px)



Kontaktformular Template 8
Öffnen Sie die Datei style-kontaktformular.css mit einem Editor und suchen Sie nach:


max-width: 39em;

Hier können Sie die Breite bei max-width: 39em; ändern. Hinweis: Da unser Kontaktformular ein Responsive Design besitzt, passt sich die Breite bei einer niedrigen Auflösung (Smartphones, Tablets) automatisch an. Die Formular-Felder werden bei einer entsprechend kleinen Auflösung wieder einspaltig. Bei @media (max-width: 400px) können Sie festlegen, wann dieser Fall eintreten soll.



Kontaktformular Template 9
Um die Breite bei Template 9 zu ändern, schauen Sie sich am besten das folgende Beispiel an. Wir ändern in diesem Beispiel die Breite von 715px zu 915px.

Öffnen Sie die Datei style-kontaktformular.css mit einem Editor (Empfehlung Windows: Notepad2; Empfehlung MacOS: Brackets).

Suchen Sie "width: 715px;". Ändern Sie "width: 715px;" in "width: 915px;"
Suchen Sie "max-width: 660px;". Ändern Sie "max-width: 660px;" in "max-width: 860px;"

Nun ist allerdings der linke Abstand bei den Formularbezeichnungen etwas breiter. Wenn Sie dies nicht stört, können Sie es dabei belassen. Möchten Sie, dass die Breite wieder passend dargestellt wird, müssen Sie diese "einrücken". Hierfür ist es notwendig fünf weitere Werte zu ändern.

1. Suchen Sie "width: 31%;". Ändern Sie "width: 31%;" in "width: 34%;"
2. Suchen Sie "width: 81%;". Ändern Sie "width: 81%;" in "width: 84%;"
3. Suchen Sie "width: 19%;". Ändern Sie "width: 19%;" in "width: 16%;"
4. Suchen Sie "width: 19% !important;". Ändern Sie "width: 19% !important;" in "width: 16% !important;"
5. Suchen Sie "padding-left: 19%;". Ändern Sie "padding-left: 19%;" in "padding-left: 16%;"
6. (optional - nur bei zwei oder mehr Dateiupload-Feldern) Suchen Sie "margin-left: 23.52%;". Ändern Sie "margin-left: 23.52%;" in "margin-left: 19,30%;"

Nun wird das Formular wieder sauber dargestellt! Diesen Vorgang können Sie mit einer beliebigen Größeneinheit wiederholen.

Demo - So sieht das Formular mit der Breite "915px" aus!

Hinweis: Da unser Kontaktformular ein Responsive Design besitzt, passt sich die Breite bei einer niedrigen Auflösung (Smartphones, Tablets) automatisch an. Die Formular-Felder werden bei einer entsprechend kleinen Auflösung wieder einspaltig. Bei "max-width: 660px;" können Sie festlegen, wann dieser Fall eintreten soll.

Kontaktformular Template 10
Öffnen Sie die Datei style-kontaktformular.css mit einem Editor und suchen Sie nach:

max-width: 400px;

Hier können Sie die max. Breite (max-width: 400px) ändern. Hinweis: Da unser Kontaktformular ein Responsive Design besitzt, passt sich die Breite bei einer niedrigen Auflösung (Smartphones, Tablets) automatisch an. (max-width: 380px)



Kontaktformular Template 11
Öffnen Sie die Datei style-kontaktformular.css mit einem Editor und suchen Sie nach:


max-width: 555px;

Hier können Sie die Breite bei max-width: 555px ändern. Hinweis: Da unser Kontaktformular ein Responsive Design besitzt, passt sich die Breite bei einer niedrigen Auflösung (Smartphones, Tablets) automatisch an. (max-width: 410px)



Kontaktformular Template 12 und Template 13
Öffnen Sie die Datei style-kontaktformular.css mit einem Editor und suchen Sie nach:


max-width: 500px;

Hier können Sie die Breite bei max-width: 500px ändern. Hinweis: Da unser Kontaktformular ein Responsive Design besitzt, passt sich die Breite bei einer niedrigen Auflösung (Smartphones, Tablets) automatisch an. Template 12: max-width: 390px Template 13: max-width: 500px



Ein Wort zum Thema Responsive Design: Wenn Sie Ihre Website für Smartphones und Tablets zugänglich machen möchten, sollten Sie Ihre Webseite in einem Responsive Design programmieren. Sie können allerdings auch eine mobile Webseite erstellen, indem Sie das kostenlose Tutorial (siehe Link) Schritt für Schritt umsetzen. Eine passende HTML Vorlage (responsive) wird Ihnen ebenfalls kostenfrei angeboten.




Das Kontaktformular (Template 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12 und 13) können Sie mit dem CSS Flexbox-Modell zentrieren. Öffnen Sie die Datei style-kontaktformular.css mit einem Editor (Empfehlung Windows: Notepad2; Empfehlung MacOS: Brackets) und fügen Sie innerhalb von body { } diesen Code ein:

display: flex;
align-items: center;
justify-content: center;


Zusätzliche Hinweise für Template 1 und 4 - 13

Fügen Sie zwischen .kontaktformular { } diese CSS Befehle ein:
margin-left:0px;
padding-left: 0rem;

Hinweis: Überschreiben Sie ggf. den CSS Befehl margin-left:20px;, sofern dieser unter .kontaktformular { } vorhanden ist. (dies ist u.a. bei Template 1 und 5 der Fall)

Zusätzliche Hinweise für Template 2 und 3

1. Ersetzen Sie padding: 30px 25px 20px 25px; (zwischen body {}) mit:
padding: 30px 25px 20px 0px;
2. Fügen Sie nach @media (max-width: 655px) { diese CSS Klasse ein:
body {
padding: 30px 15px 20px 0px;
}



Zusätzliche Hinweise für Template 9

Um das Kontaktformular mittig auszurichten, öffnen Sie die Datei style-kontaktformular.css mit einem Editor (Empfehlung Windows: Notepad2; Empfehlung MacOS: Brackets). Fügen Sie nun den nachfolgenden Code vor body (Zeile 5) ein:



body > div {

margin: 0 auto;
width: calc(1rem/16*715);
max-width: 100%;

}


"width: calc(1rem/16*715);" steht für die Standard-Breite (also 715px) des Formulars. Falls Sie die Breite zuvor verändert haben, müssen Sie diesen Wert entsprechend anpassen.

Unabhängig davon: Sie können das Template 9 auch mit einem iFrame mittig darstellen. Der iFrame Code (siehe Installationsanleitung) muss in diesem Fall ergänzt werden, indem Sie nach "border: none;" dies einfügen:

width: calc(1rem/16*715); max-width: 100%;

So muss es aussehen:

<iframe src="kontakt.php" style="border: none; width:calc(1rem/16*715); max-width:100%; height:700px;"></iframe>

Sie können auch das responsive iFrame nutzen. Hier müssen Sie den genannten Code ebenfalls innerhalb von style="" einfügen.

Information bei Nutzung einer älteren Bootstrap Version (vor v4.3.1): In der CSS Datei "bootstrap.min.css" darf die Angabe "font-size" (unter html{ }) nicht als px definiert sein. Die Angabe muss grundsätzlich immer lauten: "font-size: initial;"



Etwaige Fehlermeldungen


Dieser Fehler tritt nur dann auf, wenn Sie eine veraltete PHP Version zu nutzen. Um einen reibungslosen Betrieb des Kontaktformulars zu gewährleisten, ist die Nutzung von PHP 7.4 oder höher notwendig. Sie können die PHP Version prüfen, indem Sie die Datei phpinfo.php im Browser aufrufen.


Diese Fehlermeldung besagt, dass auf Ihrem Server die veraltete PHP Version 4 installiert ist. Um das Kontaktformular auf Ihrer Homepage zu nutzen, muss auf dem Server in jedem Fall die PHP Version 7.4 oder höher installiert sein. Aus Sicherheitsgründen wird empfohlen immer die aktuelle PHP Version (PHP 8.*) zu nutzen. Bitte kontaktieren Sie Ihren Hosting-Anbieter.


Diese Fehlermeldung erscheint, wenn Sie das Kontaktformular mit SMTP in Verbindung mit einer älteren PHP Version nutzen möchten. Auf Ihrem Webserver muss mind. die PHP Version 7.4 installiert sein, um die PHPMailer Klasse (= zuständig für SMTP) nutzen zu können. Bitte kontaktieren Sie Ihren Hosting-Anbieter.


Öffnen Sie die Datei kontakt.php und fügen Sie in Zeile 3 (unterhalb von session_start();) diesen Code ein: error_reporting(E_ERROR | E_PARSE);


Auf Ihrem Server muss mind. die PHP Version 7.4 installiert sein. Bitte kontaktieren Sie Ihren Hosting-Anbieter und bitten diesen um das Update auf PHP 7.4 oder höher. Alternative: Öffnen Sie die Datei kontakt.php mit einem Editor und entfernen Sie den Code in Zeile 4: date_default_timezone_set('Europe/Berlin');


Hierfür kann es zwei Gründe geben.

1. Sie haben einen bestimmten Code in die Datei kontakt.php vor den PHP Code "session_start();" geschrieben. Vor "session_start();" darf nichts stehen!

2. Die Datei kontakt.php wurde in UTF-8 mit BOM (utf-8 with signature) konvertiert. Die Datei wurde also wahrscheinlich versehentlich über Ihren Editor fehlerhaft gespeichert, nachdem Sie diese modifiziert/verändert haben.

Um diesen Fehler zu beheben, öffnen Sie die Datei kontakt.php mit dem Editor Notepad2 und klicken im Menü auf "File" (oben links). Nun klicken Sie auf "Encoding". Hier steht das Häkchen auf "UTF-8 with Signature". Wählen Sie stattdessen "UTF-8".

Nun speichern Sie die Datei kontakt.php und laden diese wieder auf Ihren Server hoch.






Hosteurope und Strato Kunden beachten bitte diese Information!

Nutzen Sie ggf. unsere Tutorials für WordPress und Bootstrap!

Hinweis: Für das Bearbeiten der Dateien wird ein HTML Editor empfohlen.
Empfehlung Windows: Notepad2
Empfehlung MacOS: Brackets

Ihre Frage ist nicht aufgeführt? Gerne können Sie mich unter michael.knothe@gmx.de kontaktieren.





Ich erhalte über das Kontaktformular keine E-Mail? (auch nicht über die Datei test.php)
1. Überprüfen Sie, ob Sie in die Datei config.php eine korrekte E-Mail Adresse eingetragen haben. (trifft nur zu, wenn Sie über die Datei kontakt.php keine Mail erhalten) Hinweis: Es kann durchaus sein, dass Mails über die Datei kontakt.php zugestellt werden - nicht aber über die Datei test.php. Vervollständigen Sie daher die config.php mit Ihrer E-Mail Adresse - siehe Installationsanleitung.

1.1 Nutzen Sie für den Test eine Domain-eigene E-Mail Adresse, in der Form: info@ihre-domain.com. Einige Hosting-Anbieter blockieren leider externe Mailanbieter, wie bspw. Yahoo, GMX, Gmail, WEB.DE oder T-Online. Dies ist zwar noch nicht bei allen Hosting-Anbietern der Fall, wird aber leider im Jahre 2023 zunehmen.

Auch beim Test mit einer Domain-eigenen E-Mail Adresse beachten: Nutzen Sie für den Test zum einen die Datei test.php, als auch die Datei kontakt.php (← vorher Ihre E-Mail Adresse in die Datei config.php eintragen! Die Datei config.php muss mit einem Editor geöffnet werden.)

2. Einige Hosting Anbieter (z.B. Strato, Hosteurope, 1und1 [IONOS]) setzen voraus, dass die entsprechende E-Mail Adresse (welche Sie für die test.php nutzen oder welche in der Datei config.php eingetragen ist), auch im Kundenbereich / Kundencontrolcenter hinterlegt ist. Bitte kontaktieren Sie den Support Ihres Hosting Anbieters.

Nebenbei: Beachten Sie auch diese Informationen, falls Sie ein Kunde bei Strato, Hosteurope oder 1und1 (IONOS) sind! (← Eventuell sind die Infos auch für weitere Hosting Provider relevant!)

Der konkrete Grund: Das "Problem" ist, dass diese Hosting Anbieter SPF (Sender Policy Framework) auf Ihrem Mailserver nutzen. SPF soll dazu beitragen, Absenderadressfälschungen zu verhindern und Spam zu bekämpfen. Konkret dient SPF also der Sender-Authentifizierung. Deshalb ist es bei diesen Hosting Anbietern notwendig, die verwendete E-Mail Adresse im entsprechenden Kundencontrolcenter zu verifizieren.

3. E-Mails an Yahoo, iCloud, Hotmail, AOL und ggf. weitere E-Mail Provider werden nicht zugestellt? Lesen Sie die Lösung(en) auf dieser Seite! Hier wird Ihnen sowohl eine Lösung für die Absender-, als auch für die Empfänger Adresse beschrieben! Hinweis: E-Mails über das Testformular (test.php) werden unter Umständen zugestellt, da die Absender-Adresse (no-reply@kontaktformular.com) hier festgelegt wurde. Das erfolgreiche Senden der Test-Mail steht also nicht zwingend im Zusammenhang mit dem fehlerhaften Versand einer Mail über das Kontaktformular (kontakt.php). Info: Yahoo Nutzer erhalten in der Regel diese Fehlermeldungen: "failed: yahoo.de: 554 Message not allowed - Headers are not RFC compliant[291]" und "Email rejected per DMARC policy for yahoo.de". Beheben Sie den Fehler, indem Sie die Lösung (= Reply-To-Header definieren) unter dem genannten Link umsetzen!

4. Lokaler Webserver (http://localhost ): Testen Sie die PHP Mail Funktion bitte grundsätzlich auf dem Server eines renommierten Hosting Anbieters. Bei lokalen Webservern (z.B. Xampp) ist häufig kein Mailserver installiert. Oftmals ist dieser auch falsch konfiguriert, wodurch die PHP Mail Funktion nicht korrekt angesprochen wird.

5. Vergewissern Sie sich, ob die PHP Funktion "mail" tatächlich auf Ihrem Server installiert wurde, indem Sie Ihren Hosting Anbieter kontaktieren. Sollte Ihr Hosting Anbieter diese Funktion nicht zulassen, so nutzen Sie SMTP. (beachten Sie in diesem Zusammenhang ggf. auch den Hinweis unter Punkt 6.) Der anschließende Test der SMTP Funktion kann nur über das Kontaktformular (kontakt.php) durchgeführt werden. (die Datei test.php dient nur zur Überprüfung der PHP Funktion "mail") Tragen Sie also Ihre E-Mail Adresse und Ihren (Firmen)Namen in die Datei config.php ein. (Zeile 3 und Zeile 5 - siehe Installationsanleitung)

Zusätzliche Info: Wie unter Punkt 2 beschrieben setzen einige Hosting-Anbieter (z.B. Strato, Hosteurope, 1und1 [IONOS]) voraus, dass die verwendete E-Mail Adresse (welche Sie für die test.php nutzen oder welche in der Datei config.php eingetragen ist), auch im entsprechenden Kundenbereich angelegt ist. Kontaktieren Sie ggf. den Support.

6. Einige E-Mail Anbieter (z.B. Yahoo) empfangen nur E-Mails, die über ihren eigenen Mailserver übermittelt werden. Da diese Anbieter die PHP Funktion mail() als unsicher einstufen, ist es notwendig SMTP zu aktivieren. Sie benötigen in diesem Fall die SMTP Daten des entsprechenden E-Mail Anbieter. Wichtig: Bitte erkundigen Sie sich bei Ihrem Hosting-Anbieter, ob dieser eine SMTP Verbindung zu externen E-Mail Anbietern zulässt. (oftmals wird SMTP zu externen Mailservern verweigert) Setzen Sie außerdem die Lösung auf dieser Seite um!

Die SMTP Details der E-Mail Anbieter Yahoo, Gmail und GMX finden Sie hier. Info: Für GMX und Gmail sollte die PHP Mail Funktion allerdings kein Problem darstellen. (Stand: 08/19)

7. Überprüfen Sie, ob ein externen Spamfilter (innerhalb Ihrer Servereinstellungen) aktiv ist. Sollten Sie sich dbzgl. nicht sicher sein, kontaktieren Sie bitte Ihren Hosting-Anbieter.

8. Überprüfen Sie, ob die E-Mail in Ihrem E-Mail Programm (z.B. Outlook) als Spam deklariert wurde. Info: Bei der Test-Mail (test.php) lautet der Absender "no-reply@kontaktformular.com". Bei bestimmten Spamfilter Einstellungen wird das Wort "no-reply" automatisch als Spam deklariert!

9. Sofern Sie ein Kunde bei Strato oder Hosteurope sind, beachten Sie bitte diese Information.