PHP Kontaktformular funktioniert nicht auf Host Europe?
Hey, ich habe ein Riesen Problem. Ich habe mittels PHP ein Kontaktformular für meine Webseite geschrieben. Dieses Funktioniert normalerweise auch. Die Seite habe ich testweise immer mal wieder auf bplaced hochgeladen, da es dort Kostenlos war. Allerdings soll die Seite jetzt offiziell an den Start gehen, deswegen habe ich mich für einen Server bei Hosteurope entschieden. Wenn ich das Kontaktformular bei bplaced getestet habe, dann hat es immer funktioniert, und ich habe die Mail bekommen. Allerdings geht es wenn ich es auf Hosteurope probiere überhaupt nicht. Es ist 1 zu 1 genau das gleiche Kontaktformular wie auf bplaced. Wisst ihr wodran das liegen könnte? Hoffe ihr könnt mir helfen, brauche dringend Hilfe!!!
Vielen Dank im Voraus.
6 Antworten
Was genau daran geht nicht und wie sieht die Programmierung des Formulars aus?
<?php
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
$email = $_POST['email'];
$telefon = $_POST['telefon'];
$nachricht = $_POST['nachricht'];
//Formularkontrolle müsste noch hier hin
$empfaenger = "fiftyeightstudios@gmail.com";
$absendername = "Kontaktformular";
$absendermail = $email;
$betreff = "Neue Nachricht über Kontaktformular";
$text = "Es ist eine neue Nachricht über das Kontaktformular eingetroffen. Folgende Daten wurden übermittelt:
Name, Vorname: ".$nachname.", ".$vorname."
E-Mail: ".$email."
Telefonnummer: ".$telefon."
Nachricht:
".$nachricht;
mail($empfaenger, $betreff, $text, "From: $absendername <$absendermail>");
echo('Vielen Dank! Wir melden uns schnellsmöglich bei Ihnen.');
?>
$('#frmKontakt').submit(function() {
var formControl = true;
var frmGrpVorname = $('#frmGrpVorname');
var frmGrpNachname = $('#frmGrpNachname');
var frmGrpEmail = $('#frmGrpEmail');
var frmGrpTelefon = $('#frmGrpTelefon');
var frmGrpNachricht = $('#frmGrpNachricht');
frmGrpVorname.removeClass('has-error');
frmGrpNachname.removeClass('has-error');
frmGrpEmail.removeClass('has-error');
frmGrpTelefon.removeClass('has-error');
frmGrpNachricht.removeClass('has-error');
var vorname = $('#vorname').val();
var nachname = $('#nachname').val();
var email = $('#email').val();
var telefon = $('#telefon').val();
var nachricht = $('#nachricht').val();
if(vorname == '') {
formControl = false;
frmGrpVorname.addClass('has-error');
}
if(nachname == '') {
formControl = false;
frmGrpNachname.addClass('has-error');
}
if(email == '') {
formControl = false;
frmGrpEmail.addClass('has-error');
}
if(nachricht == '') {
formControl = false;
frmGrpNachricht.addClass('has-error');
}
if (formControl) {
$.ajax({
type: 'POST',
url: 'absenden.php',
data: {vorname:vorname, nachname:nachname, email:email, telefon:telefon, nachricht:nachricht }
}).done(function(message){
var erfolgsmeldung = $('#erfolgsmeldung');
erfolgsmeldung.html(message);
erfolgsmeldung.addClass('alert');
erfolgsmeldung.addClass('alert-success');
});
}
return false;
});
Du nutzt hier die mail()-Funktion von PHP zum Senden. Darauf sollte man heutzutage verzichten. Verwende zum Senden von E-Mails am besten den phpmailer und konfiguriere ihn so, dass Du mit SMTP-Authentifizierung E-Mails sendest.
Abgesehen davon hast Du oben auch von "deinem Server" gesprochen. Ist das ein Root-Server? Dann müsstest Du, wenn Du die mail()-Funktion weiter nutzen willst, diesen auch richtig einrichten damit das funktioniert.
Was müsste ich denn machen um dies mit einem PHP Mailer zu machen? Bin auf dem gebiet leider noch nicht sehr bewandert. Also mein Server ist es auch nicht. Es ist einfach Webspace den ich bei Hosteurope gemietet habe :0
Aber vielen Dank schonmal für diese Informationen :) wäre super wenn du mir noch weiterhelfen könntest
Siehe: https://www.hosteurope.de/faq/webhosting/skripte/mailversand-per-skript/
Weitere Fragen am besten dort mit dem Support abklären. Die sind da recht fix soweit ich weis.
Wieso lesen sich eigentlich so selten mal Leute die FAQ ihres Anbieters durch?
was meinst du? wurde alles gemacht aber funktioniert trotzdem nicht :(
Unterstützt der Host php?
Und hast du es mal so versucht, das Formular auf bplaced.net zu laden und über iframe in deine Seite zu fügen?
Hast du im KIS die ausgehende Email adresse konfiguriert? Das geht irgendwo in den Scripteinstellungen. Sonst geht das mailen nicht, da die Mails sonst geblockt werden.
Kann sein, dass bei hosteurope die PHP-Erweiterung sendmail nicht installiert ist und du deshalb keine Mail bekommst
sendmail ist keine PHP-Erweiterung sondern ein System-Programm, welches E-Mails entgegennehmen und versenden kann - nicht nur von PHP.
Was genau geht nicht? Vllt ist die php version eine andere und dein script ist mit der version nicht kompatibel
Wenn ich es bei bplaced ausprobiert habe, habe ich immer die Mail bekommen mit den Daten die in das Formular eingeben worden sind. Bei Hosteurope funktioniert von der Website her alles, also ich bekomme auf der Website auch die Bestätigung dass das Kontaktformular erfolgreich abgesendet wurde, bekomme aber nie die Email mit den in das Kontaktformular eingegeben Daten