Built with HTML, CSS, JavaScript & PHP - Fully customizable
Eventuell sind die Infos auch für weitere Hosting Provider relevant! Nutzen Sie gerne unsere Seite Hoster-Check.
Problem: Es erscheint eine Fehlermeldung, sobald der Nutzer auf den Senden-Button klickt. Der Grund ist, dass die E-Mail Server von IONOS seit dem 29.01.2024 gewisse Anforderungen an die Header-Informationen einer E-Mail (welche über ein PHP Script versandt wird) stellen. Mehr Informationen erhalten Sie auf dieser IONOS Seite.
Wir können Ihnen zwei Lösungen anbieten, wobei jede Lösung eine kleine Einschränkung hat.
Lösung 1
Vorteil
Nachteil
Lösung 2
Vorteil
Nachteil(e)
Öffnen Sie die Datei kontakt.php
Suchen Sie nach diesem Codeabschnitt (zu finden unter "// header"):
// header
$header = "From: =?UTF-8?B?".base64_encode(stripslashes($fromName))."?= <".$fromMail.">".$eol;
$header .= "Reply-To: <".$fromMail.">".$eol;
$header .= "MIME-Version: 1.0".$eol;
if(is_array($attachments) && 0<count($attachments)){
$header .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"";
}
else{
$header .= "Content-type: text/plain; charset=utf-8";
}
Ersetzen Sie den Codeabschnitt hiermit:
// header
$headers = 'From: $empfaenger' .base64_encode(stripslashes($fromName))."?= <".$fromMail.">".$eol; "\r\n" .
$header .= "Reply-To: <".$fromMail.">".$eol;
$header .= "MIME-Version: 1.0".$eol;
$header .= "X-Mailer: PHP/' . phpversion()".$eol;
if(is_array($attachments) && 0<count($attachments)){
$header .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"";
}
else{
$header .= "Content-type: text/plain; charset=utf-8";
}
Bitte außerdem beachten: Es ist bei IONOS außerdem notwendig, eine Domain-eigene E-Mail Adresse (z.B. info@ihre-domain.com) zu verwenden, da IONOS nur E-Mail Adressen akzeptiert, die von der eigenen Domain stammen. Es darf keine Weiterleitungsadresse sein, sondern muss eine Domain-eigene E-Mail Adresse mit einem eigenen Postfach sein.
Löschen Sie ggf. den Cache und die Cookies (bzw. Websitedaten) in Ihrem Browser, nachdem Sie diese Änderung vorgenommen haben. Ansonsten kann es sein, dass die entsprechende Fehlermeldung, nach dem Klick auf den Senden-Button weiterhin erscheint. Nutzen Sie ggf. einen alternativen Browser, um die Funktionsfähigkeit des Kontaktformulars festzustellen.
Bis auf die korrekte Darstellung des Absender-Namens in der Webmail-Ansicht, funktioniert nun das Kontaktformular. Statt des Absender-Namens wird gegenwärtig der Servername angezeigt. Sobald Sie allerdings auf die E-Mail klicken, können Sie dem Absender ganz normal antworten.
Öffnen Sie die Datei config.php
1. Ändern Sie den Inhalt der Variable $ihrname in "E-Mail vom Kontaktformular":
$ihrname = "E-Mail vom Kontaktformular"; // Ihr Name (zwischen den Anführungszeichen)
2. Fügen Sie unterhalb von $ihrname diese Variable ein und ersetzen Sie "Ihr Unternehmen" mit der gewünschten Bezeichnung.:
$kopie_an_absender = "Ihr Unternehmen"; // Ihr Name, falls Kopie an Kunde
3. Tragen Sie die folgenden SMTP Daten unter $smtp ein. Achten Sie darauf, die SMTP Funktion unter $smtp['enabled'] durch eine 1 zu aktivieren. Fügen Sie bei "user" die E-Mail Adresse ein, die bei IONOS registriert ist. Unter "password" geben Sie das Passwort von Ihrem IONOS E-Mail Account ein:
$smtp = array(); $smtp['enabled'] = 1; // Soll das Kontaktformular E-Mails über einen SMTP Server versenden? Ja = 1, Nein = 0 $smtp['host'] = 'smtp.ionos.de'; // Der Host, unter welchem der SMTP Server erreichbar ist. (bspw. smtp.gmail.com) $smtp['user'] = 'email@ihre-domain.de'; // Der Benutzername, mit welchem Sie sich bei Ihrem SMTP Server authentifizieren. (kann u.U. die oben genannte E-Mail Adresse sein!) $smtp['password'] = 'ihr-email-passwort-bei-ionos'; // Das Passwort, mit welchem Sie sich bei Ihrem SMTP Server authentifizieren. $smtp['encryption'] = 'tls'; // Die Art der Verschlüsselung, die bei der Verbindung mit Ihrem SMTP Server verwendet wird: '', 'ssl' oder 'tls' $smtp['port'] = 587; // Der TCP Port, unter welchem Ihr SMTP Server erreichbar ist. $smtp['debug'] = 0; // Das Debuglevel (0 - 4)
Öffnen Sie die Datei kontakt.php
1. Ändern Sie den Codeabschnitt unter "// ---- send mail to admin" hiermit:
// ---- 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'],
$empfaenger,
$ihrname,
$empfaenger,
$betreff,
$mailcontent,
(2==$cfg['UPLOAD_ACTIVE'] ? array() : $uploadedFiles),
$cfg['UPLOAD_FOLDER'],
$smtp['debug']
);
2. Ändern Sie den Codeabschnitt unter "// ---- send mail to customer" hiermit:
// ---- send mail to customer
if($smtp['enabled'] !== 0) {
SMTP::send(
$smtp['host'],
$smtp['user'],
$smtp['password'],
$smtp['encryption'],
$smtp['port'],
$empfaenger,
$kopie_an_absender,
$email,
"Ihre Anfrage",
$mailcontent,
array(),
$cfg['UPLOAD_FOLDER'],
$smtp['debug']
);
3. Ändern Sie den Codeabschnitt unter "// header" hiermit:
// header
$headers = 'From: $empfaenger' .base64_encode(stripslashes($fromName))."?= <".$fromMail.">".$eol; "\r\n" .
$header .= "Reply-To: <".$fromMail.">".$eol;
$header .= "MIME-Version: 1.0".$eol;
$header .= "X-Mailer: PHP/' . phpversion()".$eol;
if(is_array($attachments) && 0<count($attachments)){
$header .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"";
}
else{
$header .= "Content-type: text/plain; charset=utf-8";
}
Bitte außerdem beachten: Es ist bei IONOS außerdem notwendig, eine Domain-eigene E-Mail Adresse (z.B. info@ihre-domain.com) zu verwenden, da IONOS nur E-Mail Adressen akzeptiert, die von der eigenen Domain stammen. Es darf keine Weiterleitungsadresse sein, sondern muss eine Domain-eigene E-Mail Adresse mit einem eigenen Postfach sein.
Löschen Sie ggf. den Cache und die Cookies (bzw. Websitedaten) in Ihrem Browser, nachdem Sie diese Änderung vorgenommen haben. Ansonsten kann es sein, dass die entsprechende Fehlermeldung, nach dem Klick auf den Senden-Button weiterhin erscheint. Nutzen Sie ggf. einen alternativen Browser, um die Funktionsfähigkeit des Kontaktformulars festzustellen.
Hinweis: Bitte bedenken Sie, dass bei dieser Lösung statt der Absender Adresse des Nutzers, immer Ihre Empfänger Adresse (siehe config.php) als Antwort-Adresse im Mailprogramm angezeigt wird. Um dem Nutzer zu antworten, können Sie einfach auf die Mailadresse tippen, welche unter "E-Mail" im Mailinhalt erscheint oder die entsprechende E-Mail Adresse in das Empfänger-Feld einfügen.
Bei den Hosting Anbietern Hosteurope, IONOS und webgo ist es notwendig, eine Domain-eigene E-Mail Adresse (z.B. info@ihre-domain.com) zu verwenden.
Es kann unter Umständen auch notwendig sein, die Domain-eigene E-Mail Adresse im entsprechenden Kundenbereich explizit für PHP Scripte anzulegen. (Insbesondere bei Hosteurope war diese Vorgehensweise vor einigen Jahren üblich.)
Problem: Die zugestellte E-Mail kann nicht auf direktem Wege beantwortet werden, da die E-Mail Adresse des Nutzers im Empfänger-Feld eine seltsame Zeichenkette aufweist. Die E-Mail Adresse ist nicht direkt sichtbar.
Dieser "Fehler" kann auftreten, wenn der Webserver eine untypische Konfiguration des E-Mail Headers hat. (betrifft nach aktuellem Kenntnisstand den Hosting Anbieter Hosteurope) Es kann allerdings sein, dass auch weitere Hosting-Anbieter davon betroffen sind.
Öffnen Sie die Datei kontakt.php
Ersetzen Sie den Codeabschnitt unter "// header" hiermit:
// header
$header = "From: =?UTF-8?B?".base64_encode(stripslashes($fromName))."?= <".$fromMail.">".$eol;
$header .= ":";
$header .= "".$eol;
if(is_array($attachments) && 0<count($attachments)){
$header .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"";
}
else{
$header .= "";
}
Die Option "Kopie an den Absender" (siehe config.php, Zeile 45) kann bei dem Hosting Anbieter Hosteurope leider nicht verwendet werden, da die entsprechende Funktion serverseitig unterbunden wird. Hierfür gibt es leider keine Lösung.
Problem: Sofern ein Nutzer eine Nachricht über das Kontaktformular senden möchte und eine Yahoo, iCloud, Hotmail, Gmail, T-Online oder AOL E-Mail Adresse in das Formular-Feld "E-Mail" einträgt, kommt die E-Mail bei der entsprechenden Empfänger Adresse (siehe config.php) nicht an.
Der Grund ist, dass die E-Mail Server von Strato und dogado (potentiell auch weitere Hosting-Anbieter!) die E-Mails abweisen, sofern die Absender-Domäne (vermeintlich) einen der genannten E-Mail Provider beinhaltet. Die Hosting-Provider berufen sich auf die DMARC Richtlinien. Mehr Informationen erhalten Sie auch auf der FAQ Seite von Strato: https://www.strato.de/faq/webshop/bounce-meldungen-bei-webshops/
// ---- 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,
####weiterer Code
####weiterer Code
####weiterer Code
####weiterer Code
####weiterer Code
####weiterer Code
// ---- 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'],
$empfaenger,
$ihrname,
$empfaenger,
####weiterer Code
####weiterer Code
####weiterer Code
####weiterer Code
####weiterer Code
####weiterer Code
$success = sendMyMail($email,
Ersetzen Sie die Zeile hiermit:
$success = sendMyMail($empfaenger,
Nun wird, statt der Absender Adresse des Nutzers, immer Ihre Empfänger Adresse (siehe config.php) als Antwort-Adresse im Mailprogramm angezeigt. Um dem Absender zu antworten, können Sie einfach auf die Mailadresse tippen, welche unter "E-Mail" im Mailinhalt erscheint.
Bekannte Fehlermeldungen in diesem Zusammenhang:
- failed: yahoo.de: 554 Message not allowed - Headers are not RFC compliant[291]
- Email rejected per DMARC policy for yahoo.de
- Set Reply-To-Header
» Zur Download-Seite von Template 1
» Spamschutz-Optionen: Captcha, Zeitsperre, Bad Word Filter, (durchdachte) IP Sperre, Honeypot, Klick-Check & Linkblocker
» Zur Download-Seite von Template 2
» Spamschutz-Optionen: Captcha, Zeitsperre, Bad Word Filter, (durchdachte) IP Sperre, Honeypot, Klick-Check & Linkblocker
» Zur Download-Seite von Template 3
» Spamschutz-Optionen: Captcha, Zeitsperre, Bad Word Filter, (durchdachte) IP Sperre, Honeypot, Klick-Check & Linkblocker
» Zur Download-Seite von Template 4
» Spamschutz-Optionen: Captcha, Zeitsperre, Bad Word Filter, (durchdachte) IP Sperre, Honeypot, Klick-Check & Linkblocker
» Zur Download-Seite von Template 5
» Spamschutz-Optionen: Captcha, Zeitsperre, Bad Word Filter, (durchdachte) IP Sperre, Honeypot, Klick-Check & Linkblocker
» Zur Download-Seite von Template 6
» Spamschutz-Optionen: Captcha, Zeitsperre, Bad Word Filter, (durchdachte) IP Sperre, Honeypot, Klick-Check & Linkblocker
» Zur Download-Seite von Template 7
» Spamschutz-Optionen: Captcha, Zeitsperre, Bad Word Filter, (durchdachte) IP Sperre, Honeypot, Klick-Check & Linkblocker
» Zur Download-Seite von Template 8
» Spamschutz-Optionen: Captcha, Zeitsperre, Bad Word Filter, (durchdachte) IP Sperre, Honeypot, Klick-Check & Linkblocker
» Zur Download-Seite von Template 9
» Spamschutz-Optionen: Captcha, Zeitsperre, Bad Word Filter, (durchdachte) IP Sperre, Honeypot, Klick-Check & Linkblocker
» Zur Download-Seite von Template 10
» Spamschutz-Optionen: Bad Word Filter, Honeypot, Captcha, (durchdachte) IP Sperre, Zeitsperre, Klick-Check & Linkblocker
» Zur Download-Seite von Template 11
» Spamschutz-Optionen: Bad Word Filter, Honeypot, Captcha, (durchdachte) IP Sperre, Zeitsperre, Klick-Check & Linkblocker
» Zur Download-Seite von Template 12
» Spamschutz-Optionen: Bad Word Filter, Honeypot, Captcha, (durchdachte) IP Sperre, Zeitsperre, Klick-Check & Linkblocker
» Zur Download-Seite von Template 13
» Spamschutz-Optionen: Bad Word Filter, Honeypot, Captcha, (durchdachte) IP Sperre, Zeitsperre, Klick-Check & Linkblocker
» Zur Download-Seite von Template 14
» Spamschutz-Optionen: Bad Word Filter, Honeypot, Captcha, (durchdachte) IP Sperre, Zeitsperre, Klick-Check & Linkblocker